summaryrefslogtreecommitdiff
path: root/board/zinger/runtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/zinger/runtime.c')
-rw-r--r--board/zinger/runtime.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/board/zinger/runtime.c b/board/zinger/runtime.c
index 775afdccec..deaa87d6ab 100644
--- a/board/zinger/runtime.c
+++ b/board/zinger/runtime.c
@@ -56,7 +56,7 @@ void tim2_interrupt(void)
{
STM32_TIM_DIER(2) = 0; /* disable match interrupt */
task_clear_pending_irq(STM32_IRQ_TIM2);
- last_event = 1 << 29 /* task event wake */;
+ last_event = TASK_EVENT_TIMER;
}
DECLARE_IRQ(STM32_IRQ_TIM2, tim2_interrupt, 1);
@@ -85,10 +85,12 @@ uint32_t task_wait_event(int timeout_us)
asm volatile("wfi");
STM32_TIM_DIER(2) = 0; /* disable match interrupt */
- evt = last_event;
- last_event = 0;
asm volatile("cpsie i ; isb");
+ /* note: interrupt that woke us up will run here */
+
+ evt = last_event;
+ last_event = 0;
return evt;
}