aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/osal/nil/osal.c7
-rw-r--r--os/nil/src/nil.c7
-rw-r--r--readme.txt2
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