Bluetooth: Controller: Fix hci_core assertion on advertising disable
Fix a race condition that caused the Controller to deadlock
waiting for a semaphore that be given when LLL events have
been disabled.
ULL reference count is checked in thread context to decide
if LLL events are pending, but the reference count can be
decremented by the ULL execution context which prevents the
set `disabled_cb` function not being called due to no
pending event to produce the done events.
Fixed by re-checking if reference count is zero and avoid
waiting to take the semaphore.
Signed-off-by:
Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Loading
Please sign in to comment