diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn.c b/subsys/bluetooth/controller/ll_sw/ull_conn.c index e83a25a2bbc2..8ef4399210f5 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn.c +++ b/subsys/bluetooth/controller/ll_sw/ull_conn.c @@ -5243,6 +5243,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; @@ -5271,6 +5276,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;