diff --git a/os/rt/include/chsys.h b/os/rt/include/chsys.h index 26c266dd5..e5134d2e8 100644 --- a/os/rt/include/chsys.h +++ b/os/rt/include/chsys.h @@ -366,7 +366,7 @@ static inline void chSysUnlock(void) { the ready list.*/ chDbgAssert((ch.rlist.r_queue.p_next == (thread_t *)&ch.rlist.r_queue) || (ch.rlist.r_current->p_prio >= ch.rlist.r_queue.p_next->p_prio), - "priority violation, missing reschedule"); + "priority order violation"); port_unlock(); } diff --git a/os/rt/src/chschd.c b/os/rt/src/chschd.c index e53384b3d..ba73d3562 100644 --- a/os/rt/src/chschd.c +++ b/os/rt/src/chschd.c @@ -368,6 +368,10 @@ void chSchWakeupS(thread_t *ntp, msg_t msg) { chDbgCheckClassS(); + chDbgAssert((ch.rlist.r_queue.p_next == (thread_t *)&ch.rlist.r_queue) || + (ch.rlist.r_current->p_prio >= ch.rlist.r_queue.p_next->p_prio), + "priority order violation"); + /* Storing the message to be retrieved by the target thread when it will restart execution.*/ ntp->p_u.rdymsg = msg;