From d8366c2bf5359f7b65e612eb33379fed578c6d91 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 22 Aug 2015 09:07:00 +0000 Subject: [PATCH] Fixed bug #633 (tentative). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8232 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/osal/nil/osal.c | 7 ++++--- os/nil/src/nil.c | 7 ++++--- readme.txt | 2 ++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/os/hal/osal/nil/osal.c b/os/hal/osal/nil/osal.c index 2c500f4b6..f935e6e8c 100644 --- a/os/hal/osal/nil/osal.c +++ b/os/hal/osal/nil/osal.c @@ -96,6 +96,10 @@ void osalThreadDequeueAllI(threads_queue_t *tqp, msg_t msg) { sp->cnt = (cnt_t)0; tr = nil.threads; while (cnt < (cnt_t)0) { + + chDbgAssert(tr < &nil.threads[NIL_CFG_NUM_THREADS], + "pointer out of range"); + /* Is this thread waiting on this semaphore?*/ if (tr->u1.semp == sp) { @@ -105,9 +109,6 @@ void osalThreadDequeueAllI(threads_queue_t *tqp, msg_t msg) { (void) chSchReadyI(tr, msg); } tr++; - - chDbgAssert(tr < &nil.threads[NIL_CFG_NUM_THREADS], - "pointer out of range"); } } diff --git a/os/nil/src/nil.c b/os/nil/src/nil.c index 7d3dab9ce..c57572b23 100644 --- a/os/nil/src/nil.c +++ b/os/nil/src/nil.c @@ -713,6 +713,10 @@ void chSemResetI(semaphore_t *sp, cnt_t n) { sp->cnt = n; tp = nil.threads; while (cnt < (cnt_t)0) { + + chDbgAssert(tp < &nil.threads[NIL_CFG_NUM_THREADS], + "pointer out of range"); + /* Is this thread waiting on this semaphore?*/ if (tp->u1.semp == sp) { @@ -722,9 +726,6 @@ void chSemResetI(semaphore_t *sp, cnt_t n) { (void) chSchReadyI(tp, MSG_RESET); } tp++; - - chDbgAssert(tp < &nil.threads[NIL_CFG_NUM_THREADS], - "pointer out of range"); } } diff --git a/readme.txt b/readme.txt index 8b9cded9b..f56eb63bf 100644 --- a/readme.txt +++ b/readme.txt @@ -95,6 +95,8 @@ - HAL: Introduced support for TIM21 and TIM22 in STM32 ST driver. - HAL: Updated STM32F0xx headers to STM32CubeF0 version 1.3.0. Added support for STM32F030xC, STM32F070x6, STM32F070xB devices. +- NIL: Fixed Wrong assertion in NIL chSemResetI() and NIL OSAL + osalThreadDequeueAllI() (bug #633)(backported to 3.0.2). - RT: Fixed problem with RT mutexes involving priority inheritance (bug #632) (backported to 3.0.2 and 2.6.10). - HAL: Fixed HAL to RT dependency in STM32 DAC driver (bug #631)(backported