diff options
Diffstat (limited to 'os')
-rw-r--r-- | os/kernel/src/chmtx.c | 8 | ||||
-rw-r--r-- | os/ports/GCC/ARMCM3/chcore.c | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/os/kernel/src/chmtx.c b/os/kernel/src/chmtx.c index 962356db8..d319b9316 100644 --- a/os/kernel/src/chmtx.c +++ b/os/kernel/src/chmtx.c @@ -88,26 +88,26 @@ void chMtxLockS(Mutex *mp) { switch (tp->p_state) { case THD_STATE_WTMTX: /* Re-enqueues tp with its new priority on the mutex wait queue.*/ - prio_insert(dequeue(tp), (ThreadsQueue *)&tp->p_u.wtobjp); + prio_insert(dequeue(tp), (ThreadsQueue *)tp->p_u.wtobjp); /* Boost the owner of this mutex if needed.*/ tp = ((Mutex *)tp->p_u.wtobjp)->m_owner; continue; #if CH_USE_CONDVARS case THD_STATE_WTCOND: /* Re-enqueues tp with its new priority on the condvar queue.*/ - prio_insert(dequeue(tp), (ThreadsQueue *)&tp->p_u.wtobjp); + prio_insert(dequeue(tp), (ThreadsQueue *)tp->p_u.wtobjp); break; #endif #if CH_USE_SEMAPHORES_PRIORITY case THD_STATE_WTSEM: /* Re-enqueues tp with its new priority on the semaphore queue.*/ - prio_insert(dequeue(tp), (ThreadsQueue *)&tp->p_u.wtobjp); + prio_insert(dequeue(tp), (ThreadsQueue *)tp->p_u.wtobjp); break; #endif #if CH_USE_MESSAGES_PRIORITY case THD_STATE_SNDMSG: /* Re-enqueues tp with its new priority on the server thread queue.*/ - prio_insert(dequeue(tp), ((Thread *)tp->p_u.wtobjp)->p_msgqueue); + prio_insert(dequeue(tp), &((Thread *)tp->p_u.wtobjp)->p_msgqueue); break; #endif case THD_STATE_READY: diff --git a/os/ports/GCC/ARMCM3/chcore.c b/os/ports/GCC/ARMCM3/chcore.c index 6a8f21853..e7f6b82c3 100644 --- a/os/ports/GCC/ARMCM3/chcore.c +++ b/os/ports/GCC/ARMCM3/chcore.c @@ -158,7 +158,7 @@ void PendSVVector(void) { PUSH_CONTEXT(sp_thd);
(otp = currp)->p_ctx.r13 = sp_thd;
- (currp = fifo_remove(&rlist.r_queue))->p_state = PRCURR;
+ (currp = fifo_remove(&rlist.r_queue))->p_state = THD_STATE_CURRENT;
chSchReadyI(otp);
#if CH_TIME_QUANTUM > 0
/* set the round-robin time quantum */
|