From a081e001b06eb960f354e80240501d7881a0a3b7 Mon Sep 17 00:00:00 2001 From: Vinayak Kariappa Chettimada Date: Tue, 16 Jul 2019 11:34:00 +0530 Subject: [PATCH] Bluetooth: controller: split: Fix PHY update proc symmetric rsp Fix PHY update procedure to correctly handle master requesting asymmetrical and slave symmetrical. Fixes BT LL TS 5.1.0 conformance test: LL/CON/MAS/BV-117-C [PHY Update Procedure - Master Requests Asymmetrical, Slave Symmetrical] Relates to #17097. Signed-off-by: Vinayak Kariappa Chettimada --- subsys/bluetooth/controller/ll_sw/ull_conn.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn.c b/subsys/bluetooth/controller/ll_sw/ull_conn.c index 24e903373db..6bec8353f67 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn.c +++ b/subsys/bluetooth/controller/ll_sw/ull_conn.c @@ -5246,6 +5246,11 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx, conn->llcp_phy.tx &= p->rx_phys; conn->llcp_phy.rx &= p->tx_phys; + if (!conn->llcp_phy.tx || !conn->llcp_phy.rx) { + conn->llcp_phy.tx = 0; + conn->llcp_phy.rx = 0; + } + /* pause data packet tx */ conn->llcp_phy.pause_tx = 1U; @@ -5274,6 +5279,11 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx, conn->llcp_phy.tx &= p->rx_phys; conn->llcp_phy.rx &= p->tx_phys; + if (!conn->llcp_phy.tx || !conn->llcp_phy.rx) { + conn->llcp_phy.tx = 0; + conn->llcp_phy.rx = 0; + } + /* pause data packet tx */ conn->llcp_phy.pause_tx = 1U;