Skip to content

Commit 44e8b69

Browse files
cvinayakAnas Nashif
authored andcommitted
Bluetooth: controller: Fix diff proc collision with enc proc
Fixes the following conformance test regression failure introduced in commit 7dd5fbe ("Bluetooth: controller: Fix MIC error due to parallel Enc Proc") TP/CON/MAS/BV-28-C [Initiating Connection Parameter Request different procedure collision encryption] Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent 19f7a6f commit 44e8b69

File tree

1 file changed

+11
-5
lines changed
  • subsys/bluetooth/controller/ll_sw

1 file changed

+11
-5
lines changed

subsys/bluetooth/controller/ll_sw/ctrl.c

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2609,10 +2609,12 @@ isr_rx_conn_pkt_ctrl(struct radio_pdu_node_rx *radio_pdu_node_rx,
26092609
PDU_DATA_LLCTRL_TYPE_CONN_PARAM_REQ,
26102610
0x23);
26112611
#if defined(CONFIG_BT_CTLR_PHY)
2612-
} else if ((conn->llcp_req != conn->llcp_ack) ||
2612+
} else if (((conn->llcp_req != conn->llcp_ack) &&
2613+
(conn->llcp_type != LLCP_ENCRYPTION)) ||
26132614
(conn->llcp_phy.req != conn->llcp_phy.ack)) {
26142615
#else /* !CONFIG_BT_CTLR_PHY */
2615-
} else if (conn->llcp_req != conn->llcp_ack) {
2616+
} else if ((conn->llcp_req != conn->llcp_ack) &&
2617+
(conn->llcp_type != LLCP_ENCRYPTION)) {
26162618
#endif /* !CONFIG_BT_CTLR_PHY */
26172619
/* Different procedure collision */
26182620
nack = reject_ext_ind_send(_radio.conn_curr,
@@ -2931,13 +2933,17 @@ isr_rx_conn_pkt_ctrl(struct radio_pdu_node_rx *radio_pdu_node_rx,
29312933
PDU_DATA_LLCTRL_TYPE_PHY_REQ,
29322934
0x23);
29332935
#if defined(CONFIG_BT_CTLR_CONN_PARAM_REQ)
2934-
} else if ((_radio.conn_curr->llcp_req !=
2935-
_radio.conn_curr->llcp_ack) ||
2936+
} else if (((_radio.conn_curr->llcp_req !=
2937+
_radio.conn_curr->llcp_ack) &&
2938+
(_radio.conn_curr->llcp_type !=
2939+
LLCP_ENCRYPTION)) ||
29362940
(_radio.conn_curr->llcp_conn_param.req !=
29372941
_radio.conn_curr->llcp_conn_param.ack)) {
29382942
#else /* !CONFIG_BT_CTLR_CONN_PARAM_REQ */
29392943
} else if ((_radio.conn_curr->llcp_req !=
2940-
_radio.conn_curr->llcp_ack)) {
2944+
_radio.conn_curr->llcp_ack) &&
2945+
(_radio.conn_curr->llcp_type !=
2946+
LLCP_ENCRYPTION)) {
29412947
#endif /* !CONFIG_BT_CTLR_CONN_PARAM_REQ */
29422948
/* Different procedure collision */
29432949
nack = reject_ext_ind_send(_radio.conn_curr,

0 commit comments

Comments
 (0)