In certain scenarios, the semaphore sem_ticker_api_cb may be taken during attempt to complete a synchronous ticker operation such as start or stop, but is never released via ull_ticker_status_give. This could happen if ticker temporarily runs out of ticker operation slots for any ticker client. The consequence of ULL stuck waiting in semaphore is anything from allocation assertions to watchdog timeouts. This commit also sets a timeout on ull_disable calls, which relies on the disable callback being invoked from 'done'. Invocation of 'done' is mandatory, and code shall not allow that not to happen, but to avoid hiding the real cause, the semaphore now has a timeout which causes assertion in the location the issue occurred. Signed-off-by: Morten Priess <mtpr@oticon.com> |
||
|---|---|---|
| .. | ||
| coex | ||
| crypto | ||
| flash | ||
| hal | ||
| hci | ||
| include | ||
| ll_sw | ||
| ticker | ||
| util | ||
| CMakeLists.txt | ||
| Kconfig | ||
| Kconfig.df | ||
| Kconfig.dtm | ||
| Kconfig.ll_sw_split | ||