From 3caa603df42e9215259d6d2256da1c3911e7d8ae Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Fri, 21 Aug 2015 13:05:18 +0000 Subject: Fixed bug #632. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8229 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/include/hal.h | 4 ++-- os/rt/include/ch.h | 4 ++-- os/rt/src/chmtx.c | 8 +++++++- 3 files changed, 11 insertions(+), 5 deletions(-) (limited to 'os') diff --git a/os/hal/include/hal.h b/os/hal/include/hal.h index 1c6405991..bb1a3281b 100644 --- a/os/hal/include/hal.h +++ b/os/hal/include/hal.h @@ -101,7 +101,7 @@ /** * @brief HAL version string. */ -#define HAL_VERSION "3.0.0" +#define HAL_VERSION "3.0.1" /** * @brief HAL version major number. @@ -116,7 +116,7 @@ /** * @brief HAL version patch number. */ -#define CH_HAL_PATCH 0 +#define CH_HAL_PATCH 1 /** @} */ /** diff --git a/os/rt/include/ch.h b/os/rt/include/ch.h index fdfec3823..cb4db9392 100644 --- a/os/rt/include/ch.h +++ b/os/rt/include/ch.h @@ -48,7 +48,7 @@ /** * @brief Kernel version string. */ -#define CH_KERNEL_VERSION "3.0.0" +#define CH_KERNEL_VERSION "3.0.2" /** * @brief Kernel version major number. @@ -63,7 +63,7 @@ /** * @brief Kernel version patch number. */ -#define CH_KERNEL_PATCH 0 +#define CH_KERNEL_PATCH 2 /** @} */ /* Core headers.*/ diff --git a/os/rt/src/chmtx.c b/os/rt/src/chmtx.c index 03f78a3ce..42c2836ae 100644 --- a/os/rt/src/chmtx.c +++ b/os/rt/src/chmtx.c @@ -375,7 +375,13 @@ void chMtxUnlock(mutex_t *mp) { mp->m_owner = tp; mp->m_next = tp->p_mtxlist; tp->p_mtxlist = mp; - chSchWakeupS(tp, MSG_OK); + + /* Note, not using chSchWakeupS() becuase that function expects the + current thread to have the higher or equal priority than the ones + in the ready list. This is not necessarily true here because we + just changed priority.*/ + (void) chSchReadyI(tp); + chSchRescheduleS(); } else { mp->m_owner = NULL; -- cgit v1.2.3