fix(freertos): Fixed critical section macro in vTaskPlaceOnEventListRestricted()

The vTaskPlaceOnEventListRestricted() did not use the correct macro when
exiting a kernel cirtical section. This does not affect the HW targets
but on the Linux port, this caused an issue as the critical nesting
count became negative, leading to deadlocks. This commit fixes the bug
and updates the linux port to prevent the nesting count from going
negative.
This commit is contained in:
Sudeep Mohanty
2024-08-08 09:24:55 +02:00
parent 876eaf8082
commit 411ef4557a
6 changed files with 31 additions and 2 deletions

View File

@@ -3819,7 +3819,7 @@ void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
prvAddCurrentTaskToDelayedList( xTicksToWait, xWaitIndefinitely );
}
/* Release the previously taken kernel lock. */
taskEXIT_CRITICAL( &xKernelLock );
prvEXIT_CRITICAL_SMP_ONLY( &xKernelLock );
}
#endif /* configUSE_TIMERS */