diff --git a/core/cond.c b/core/cond.c index 8ff45f4d7461..497956496987 100644 --- a/core/cond.c +++ b/core/cond.c @@ -34,13 +34,14 @@ void cond_init(cond_t *cond) void cond_wait(cond_t *cond, mutex_t *mutex) { - unsigned irqstate = irq_disable(); + assert(irq_is_enabled()); + irq_disable(); thread_t *me = thread_get_active(); mutex_unlock(mutex); sched_set_status(me, STATUS_COND_BLOCKED); thread_add_to_list(&cond->queue, me); - irq_restore(irqstate); + irq_enable(); thread_yield_higher(); /*