Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions subsys/bluetooth/controller/ll_sw/ull_llcp_remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -681,8 +681,19 @@ static void rr_st_idle(struct ll_conn *conn, uint8_t evt, void *param)
if (ctx_local->proc == ctx->proc ||
(ctx_local->proc == PROC_CONN_UPDATE &&
ctx->proc == PROC_CONN_PARAM_REQ)) {
conn->llcp_terminate.reason_final =
BT_HCI_ERR_LL_PROC_COLLISION;
/* Central collision
* => Send reject
*
* Local central shall reject the PDU received from the
* peripheral by issuing a reject, continues unaffected.
*/

/* Send reject */
struct node_rx_pdu *rx = (struct node_rx_pdu *)param;
struct pdu_data *pdu = (struct pdu_data *)rx->pdu;

conn->llcp.remote.reject_opcode = pdu->llctrl.opcode;
rr_act_reject(conn);
} else {
conn->llcp_terminate.reason_final =
BT_HCI_ERR_DIFF_TRANS_COLLISION;
Expand Down
Loading