There was an error while loading. Please reload this page.
1 parent 48b3105 commit 99e9722Copy full SHA for 99e9722
1 file changed
src/runtime/runtime_rp2040_flashsafe_cores.go
@@ -96,8 +96,11 @@ func rp2FlashSafeInterruptHandler(core uint32) {
96
arm.Asm("wfe")
97
}
98
99
- interrupt.Restore(state)
100
-
+ // Publish Idle before restoring interrupts. The initiator spins for Idle
+ // with interrupts disabled, so taking a pending GC interrupt first would
101
+ // deadlock: it would wait for an ACK the initiator cannot send.
102
rp2040FlashSafeState.Set(rp2040FlashSafeIdle)
103
arm.Asm("sev")
104
+
105
+ interrupt.Restore(state)
106
0 commit comments