diff options
-rw-r--r-- | core/cortex-m/task.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/core/cortex-m/task.c b/core/cortex-m/task.c index 4e4928929e..41b91de348 100644 --- a/core/cortex-m/task.c +++ b/core/cortex-m/task.c @@ -164,12 +164,11 @@ uint32_t *task_get_event_bitmap(task_id_t tskid) void svc_handler(int desched, task_id_t resched) { task_ *current, *next; - uint32_t reg; /* push the priority to -1 until the return, to avoid being * interrupted */ - asm volatile("mov %0, #1\n" - "msr faultmask, %0" :"=r"(reg)); + asm volatile("cpsid f\n" + "isb\n"); current = __get_task_scheduled(); if (desched && !current->events) { /* Remove our own ready bit */ |