Bluetooth: controller: split: Fix radio abort race condition

When aborting radio event, there is a possibility that the
packet timer would start the radio while the packet timer
is being reset. Hence, perform a second radio state disable
with packet timers uninitialised.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2019-10-03 18:02:02 +05:30 committed by Carles Cufí
commit 6f7f5153db

View file

@ -576,6 +576,9 @@ static void isr_abort(void *param)
ticker_stop(TICKER_INSTANCE_ID_CTLR, TICKER_USER_ID_LLL, ticker_stop(TICKER_INSTANCE_ID_CTLR, TICKER_USER_ID_LLL,
TICKER_ID_SCAN_STOP, NULL, NULL); TICKER_ID_SCAN_STOP, NULL, NULL);
/* Under race conditions, radio could get started while entering ISR */
radio_disable();
isr_cleanup(param); isr_cleanup(param);
} }