diff options
Diffstat (limited to 'firmware/kernel.c')
| -rw-r--r-- | firmware/kernel.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index 6d9e2a8..a9c7711 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c @@ -131,10 +131,12 @@ bool queue_empty(const struct event_queue* q) return ( q->read == q->write ); } -void queue_clear(const struct event_queue* q) +void queue_clear(struct event_queue* q) { + int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); q->read = 0; q->write = 0; + set_irq_level(oldlevel); } int queue_broadcast(int id, void *data) |