Skip to content
Permalink
Browse files

Bluetooth: controller: 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]

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
  • Loading branch information...
cvinayak authored and carlescufi committed Jun 26, 2019
1 parent e03bdba commit 3f576360ae7f07fe0635a9f6395249411d19fa00
Showing with 12 additions and 0 deletions.
  1. +12 −0 subsys/bluetooth/controller/ll_sw/ctrl.c
@@ -3311,6 +3311,12 @@ isr_rx_conn_pkt_ctrl(struct radio_pdu_node_rx *node_rx,

_radio.conn_curr->llcp_phy.tx &= p->rx_phys;
_radio.conn_curr->llcp_phy.rx &= p->tx_phys;

if (!_radio.conn_curr->llcp_phy.tx ||
!_radio.conn_curr->llcp_phy.rx) {
_radio.conn_curr->llcp_phy.tx = 0;
_radio.conn_curr->llcp_phy.rx = 0;
}
}
} else {
nack = phy_rsp_send(_radio.conn_curr, pdu_data_rx);
@@ -3337,6 +3343,12 @@ isr_rx_conn_pkt_ctrl(struct radio_pdu_node_rx *node_rx,
_radio.conn_curr->llcp_phy.tx &= p->rx_phys;
_radio.conn_curr->llcp_phy.rx &= p->tx_phys;

if (!_radio.conn_curr->llcp_phy.tx ||
!_radio.conn_curr->llcp_phy.rx) {
_radio.conn_curr->llcp_phy.tx = 0;
_radio.conn_curr->llcp_phy.rx = 0;
}

/* Procedure timeout is stopped */
_radio.conn_curr->procedure_expire = 0U;
}

0 comments on commit 3f57636

Please sign in to comment.
You can’t perform that action at this time.