Skip to content

Commit 44bbdd0

Browse files
cvinayakcarlescufi
authored andcommitted
Bluetooth: controller: Fix llcp_rx check assert
If LL Connection Parameter Request or LL Connection Update or LL PHY Update procedure is started by the local device while a LL Length Update Request PDU has been sent by peer then a Rx node has been stored in the llcp_rx place holder for generation of Length Update procedure complete. The failing assert check is incorrect in the above scenario hence remove. Instead a missing append of the allocated Rx node to the llcp_rx list has been added to the controller implementation. This issue relates to commit d12c53f ("Bluetooth: controller: split: Fix missing data len update event"). Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent c8b0b1a commit 44bbdd0

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

subsys/bluetooth/controller/ll_sw/ull_conn.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2125,8 +2125,6 @@ static inline int event_conn_upd_prep(struct ll_conn *conn, u16_t lazy,
21252125
struct node_rx_pdu *rx;
21262126
struct node_tx *tx;
21272127

2128-
LL_ASSERT(!conn->llcp_rx);
2129-
21302128
rx = ll_pdu_rx_alloc_peek(1);
21312129
if (!rx) {
21322130
return -ENOBUFS;
@@ -2138,6 +2136,7 @@ static inline int event_conn_upd_prep(struct ll_conn *conn, u16_t lazy,
21382136
}
21392137

21402138
(void)ll_pdu_rx_alloc();
2139+
rx->hdr.link->mem = conn->llcp_rx;
21412140
conn->llcp_rx = rx;
21422141

21432142
pdu_ctrl_tx = (void *)tx->pdu;
@@ -3463,8 +3462,6 @@ static inline void event_phy_upd_ind_prep(struct ll_conn *conn,
34633462
struct node_rx_pdu *rx;
34643463
struct node_tx *tx;
34653464

3466-
LL_ASSERT(!conn->llcp_rx);
3467-
34683465
#if defined(CONFIG_BT_CTLR_DATA_LENGTH)
34693466
rx = ll_pdu_rx_alloc_peek(2);
34703467
#else /* !CONFIG_BT_CTLR_DATA_LENGTH */

0 commit comments

Comments
 (0)