zephyr/subsys/bluetooth/controller
Morten Priess b0ab952ffe Bluetooth: controller: Prevent ULL stuck in semaphore
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>
2023-08-09 08:33:34 +00:00
..
coex Bluetooth: Rework the HCI header set 2023-06-12 06:20:24 -04:00
crypto Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
flash Bluetooth: Rework the HCI header set 2023-06-12 06:20:24 -04:00
hal Bluetooth: Controller: Add LL_ASSERT_OVERHEAD define 2023-06-29 17:16:47 +02:00
hci Bluetooth: Controller: Fix bug in read_codecs_v2() 2023-08-07 11:27:13 +02:00
include Bluetooth: Controller: Inherit BT_ISO_TX_MTU value 2023-06-29 10:06:19 +00:00
ll_sw Bluetooth: controller: Prevent ULL stuck in semaphore 2023-08-09 08:33:34 +00:00
ticker Bluetooth: Controller: Ticker first expire with remainder 2023-05-05 12:26:31 +02:00
util Bluetooth: Controller: Review rework changes for multiple CIS support 2023-05-05 12:26:31 +02:00
CMakeLists.txt drivers: flash: nRF: Move sync ticker to Subsys Bluetooth Controller 2023-03-21 12:33:32 +01:00
Kconfig Bluetooth: Controller: Kconfig: Move BT_LL_SW_SPLIT specific configs 2023-07-27 10:20:55 +02:00
Kconfig.df Bluetooth: controller: Move DF feat selection to LL_SW_SPLIT KConfig 2023-05-24 16:41:21 +02:00
Kconfig.dtm
Kconfig.ll_sw_split Bluetooth: Controller: Kconfig: Move BT_LL_SW_SPLIT specific configs 2023-07-27 10:20:55 +02:00