diff --git a/os/kernel/src/chschd.c b/os/kernel/src/chschd.c index ff10dbe2d..9adf656ff 100644 --- a/os/kernel/src/chschd.c +++ b/os/kernel/src/chschd.c @@ -129,12 +129,12 @@ void chSchGoSleepS(tstate_t newstate) { static void wakeup(void *p) { Thread *tp = (Thread *)p; -#if CH_USE_SEMAPHORES || (CH_USE_CONDVARS && CH_USE_CONDVARS_TIMEOUT) switch (tp->p_state) { case THD_STATE_READY: /* Handling the special case where the thread has been made ready by another thread with higher priority.*/ return; +#if CH_USE_SEMAPHORES || (CH_USE_CONDVARS && CH_USE_CONDVARS_TIMEOUT) #if CH_USE_SEMAPHORES case THD_STATE_WTSEM: chSemFastSignalI((Semaphore *)tp->p_u.wtobjp); @@ -145,8 +145,8 @@ static void wakeup(void *p) { #endif /* States requiring dequeuing.*/ dequeue(tp); - } #endif + } tp->p_u.rdymsg = RDY_TIMEOUT; chSchReadyI(tp); }