zephyr/subsys/bluetooth/controller
Piotr Pryga bb7a67d5be Bluetooth: Controller: Fix per sync cancel and sync establ synchronize
Current implementation of ll_sync_create_cancel does not allow to stop
synchronization after ull_sync_setup is called. When that is done,
sync->timeout_reload is not zero and the ll_sync_create_cancel will
return BT_HCI_ERR_CMD_DISALLOWED. That means the Controller is able to
cancel periodic advertising synchronization only in period between
call to ll_sync_create and reception of AUX_ADV_IND that has SyncInfo
field.

The Controller should be able to cancell synchronization until first
AUX_SYNC_IND PDU is received and host notified about synchronization
established.

Complete information about synchronization status is provdied by two
ll_sync_set members: node_rx_sync_established and timeout_reload.
These two members of the structure were used in ll_sync_create_cancel
function to do a proper cancel and cleanup.
The node_rx_sync_established member was not cleared when sync was
established or expired. That was required to get a proper information
about synchronization state.

Besides that, to avoid race condition between ll_sync_create_cancel
and ull_sync_established_report, the latter function was extended
to check if cancel operation or sync lost has happened.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2022-05-17 11:39:09 +02:00
..
crypto
hal Bluetooth: Controller: df: make radio_df_vendor_hal.h compile in always 2022-03-21 10:15:39 +01:00
hci subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
include Bluetooth: controller: ISO TX data path including ISOAL 2022-05-06 11:32:30 +02:00
ll_sw Bluetooth: Controller: Fix per sync cancel and sync establ synchronize 2022-05-17 11:39:09 +02:00
ticker Bluetooth: Controller: Yield stopped ticker time reservations 2022-03-23 12:53:38 +01:00
util subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
CMakeLists.txt Bluetooth: Controller: Remove experimental from Ext and Periodic Adv 2022-05-16 18:25:14 +02:00
Kconfig Bluetooth: Controller: Remove experimental from Ext and Periodic Adv 2022-05-16 18:25:14 +02:00
Kconfig.df Bluetooth: Controller: df: Fix wrong ant after switch pattern exhausted 2022-05-16 10:08:48 +02:00
Kconfig.dtm bluetooth: controller: Add support for all DTM commands 2022-03-18 12:00:03 +01:00
Kconfig.ll_sw_split Bluetooth: controller: set refactored LLCP as default for DF 2022-05-16 18:02:20 +02:00