From e6911bc06c0bffd1b097a498017f329f1e853b17 Mon Sep 17 00:00:00 2001 From: Vinayak Kariappa Chettimada Date: Thu, 3 Dec 2020 16:10:46 +0530 Subject: [PATCH] Bluetooth: controller: Fix Coded PHY S2 S8 coding use Fix PHY Update control procedure to accept the preferred Tx coding options (S2 or S8) requested even if there is no actual PHY change happening on procedure completion. Signed-off-by: Vinayak Kariappa Chettimada --- subsys/bluetooth/controller/ll_sw/ull_adv.c | 1 - subsys/bluetooth/controller/ll_sw/ull_conn.c | 3 +-- subsys/bluetooth/controller/ll_sw/ull_conn_types.h | 1 - subsys/bluetooth/controller/ll_sw/ull_master.c | 1 - 4 files changed, 1 insertion(+), 5 deletions(-) diff --git a/subsys/bluetooth/controller/ll_sw/ull_adv.c b/subsys/bluetooth/controller/ll_sw/ull_adv.c index 72814060692..8e859739113 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_adv.c +++ b/subsys/bluetooth/controller/ll_sw/ull_adv.c @@ -901,7 +901,6 @@ uint8_t ll_adv_enable(uint8_t enable) conn->llcp_phy.pause_tx = 0U; conn->phy_pref_tx = ull_conn_default_phy_tx_get(); conn->phy_pref_rx = ull_conn_default_phy_rx_get(); - conn->phy_pref_flags = 0; #endif /* CONFIG_BT_CTLR_PHY */ conn->tx_head = conn->tx_ctrl = conn->tx_ctrl_last = diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn.c b/subsys/bluetooth/controller/ll_sw/ull_conn.c index 3fe7a1256d4..7e2e9659704 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn.c +++ b/subsys/bluetooth/controller/ll_sw/ull_conn.c @@ -3448,7 +3448,7 @@ static inline void event_phy_req_prep(struct ll_conn *conn) /* update preferred phy */ conn->phy_pref_tx = conn->llcp_phy.tx; conn->phy_pref_rx = conn->llcp_phy.rx; - conn->phy_pref_flags = conn->llcp_phy.flags; + conn->lll.phy_flags = conn->llcp_phy.flags; /* place the phy req packet as next in tx queue */ pdu_ctrl_tx = (void *)tx->pdu; @@ -3666,7 +3666,6 @@ static inline void event_phy_upd_ind_prep(struct ll_conn *conn, #endif /* CONFIG_BT_CTLR_DATA_LENGTH */ } - lll->phy_flags = conn->phy_pref_flags; /* Acquire Rx node */ rx = conn->llcp_rx; diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn_types.h b/subsys/bluetooth/controller/ll_sw/ull_conn_types.h index ad5bb871ed0..964ed71918e 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn_types.h +++ b/subsys/bluetooth/controller/ll_sw/ull_conn_types.h @@ -265,7 +265,6 @@ struct ll_conn { } llcp_phy; uint8_t phy_pref_tx:3; - uint8_t phy_pref_flags:1; uint8_t phy_pref_rx:3; #endif /* CONFIG_BT_CTLR_PHY */ diff --git a/subsys/bluetooth/controller/ll_sw/ull_master.c b/subsys/bluetooth/controller/ll_sw/ull_master.c index f1d697703ff..94f1b2d8eba 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_master.c +++ b/subsys/bluetooth/controller/ll_sw/ull_master.c @@ -287,7 +287,6 @@ uint8_t ll_create_connection(uint16_t scan_interval, uint16_t scan_window, conn->llcp_phy.pause_tx = 0U; conn->phy_pref_tx = ull_conn_default_phy_tx_get(); conn->phy_pref_rx = ull_conn_default_phy_rx_get(); - conn->phy_pref_flags = 0U; #endif /* CONFIG_BT_CTLR_PHY */ conn->tx_head = conn->tx_ctrl = conn->tx_ctrl_last =