--- x/kernel/time/posix-timers.c +++ y/kernel/time/posix-timers.c @@ -1042,12 +1042,12 @@ static void itimer_delete(struct k_itime { unsigned long flags; -retry_delete: /* * irqsave is required to make timer_wait_running() work. */ spin_lock_irqsave(&timer->it_lock, flags); +retry_delete: /* * Even if the timer is not longer accessible from other tasks * it still might be armed and queued in the underlying timer