Skip to content

Commit

Permalink
Merge pull request #14537 from bergzand/backport/2020.07/pr/cortexm/i…
Browse files Browse the repository at this point in the history
…rq_during_idle

cortexm_common: disable IRQ during thread_sched_idle [backport 2020.07]
  • Loading branch information
miri64 authored Jul 16, 2020
2 parents 172a3ba + d023c70 commit ab072f2
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions cpu/cortexm_common/thread_arch.c
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@ void sched_arch_idle(void)
* According to [this](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0321a/BIHJICIE.html),
* dynamically changing the priority is not supported on CortexM0(+).
*/
unsigned state = irq_disable();
NVIC_SetPriority(PendSV_IRQn, CPU_CORTEXM_PENDSV_IRQ_PRIO + 1);
__DSB();
__ISB();
Expand All @@ -469,5 +470,6 @@ void sched_arch_idle(void)
#else
__WFI();
#endif
irq_restore(state);
NVIC_SetPriority(PendSV_IRQn, CPU_CORTEXM_PENDSV_IRQ_PRIO);
}

0 comments on commit ab072f2

Please sign in to comment.