From 13b205ece275ecc8e3f020bd687af62df3f03e34 Mon Sep 17 00:00:00 2001 From: Samuel O'Brien Date: Sun, 12 Jan 2025 20:50:16 -0600 Subject: [PATCH] rp: Fix time driver hang --- embassy-rp/src/time_driver.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/embassy-rp/src/time_driver.rs b/embassy-rp/src/time_driver.rs index aa5d564e72..5aaca03d7c 100644 --- a/embassy-rp/src/time_driver.rs +++ b/embassy-rp/src/time_driver.rs @@ -86,6 +86,9 @@ impl TimerDriver { fn check_alarm(&self) { let n = 0; critical_section::with(|cs| { + // clear the irq + TIMER.intr().write(|w| w.set_alarm(n, true)); + let alarm = &self.alarms.borrow(cs); let timestamp = alarm.timestamp.get(); if timestamp <= self.now() { @@ -97,8 +100,6 @@ impl TimerDriver { } }); - // clear the irq - TIMER.intr().write(|w| w.set_alarm(n, true)); } fn trigger_alarm(&self, cs: CriticalSection) {