diff options
Diffstat (limited to 'os')
| -rw-r--r-- | os/hal/include/hal.h | 4 | ||||
| -rw-r--r-- | os/rt/include/ch.h | 4 | ||||
| -rw-r--r-- | os/rt/src/chmtx.c | 8 | 
3 files changed, 11 insertions, 5 deletions
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;
  | 
