summaryrefslogtreecommitdiff
path: root/firmware/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/kernel.c')
-rw-r--r--firmware/kernel.c4
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)