Bluetooth: controller: Avoid race between ULL and LLL when initiating conn

Use an "initiated" flag in the lll_conn struct to guard the processing
of PDUs related to connection initiation (CONNECT_IND,
AUX_CONNECT_RSP). This avoids races between ULL and LLL when creating
a connection.

Signed-off-by: Wolfgang Puffitsch <wopu@demant.com>
This commit is contained in:
Wolfgang Puffitsch 2021-02-20 15:32:05 +01:00 committed by Anas Nashif
commit 5ce5dc055e
8 changed files with 34 additions and 6 deletions

View file

@ -46,6 +46,7 @@ struct lll_conn {
uint8_t data_chan_count:6;
uint8_t data_chan_sel:1;
uint8_t role:1;
uint8_t initiated:1;
union {
struct {
@ -59,6 +60,7 @@ struct lll_conn {
#if defined(CONFIG_BT_PERIPHERAL)
struct {
uint8_t latency_enabled:1;
uint32_t window_widening_periodic_us;
uint32_t window_widening_max_us;
uint32_t window_widening_prepare_us;