Skip to content
Permalink
Browse files

Bluetooth: controller: ull/lll: Fix pin or key missing response

Fix the missing reset of Encryption Procedure state when the
peripheral responded with error reason as pin or key missing
which otherwise caused connection disconnection on next
reception of data or control packet.

Relates to #15570, and #15727.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
  • Loading branch information...
cvinayak authored and nashif committed Apr 29, 2019
1 parent 28ee240 commit 343937c54214bcd300caf57ad7a2856e6d58b8b2
Showing with 7 additions and 0 deletions.
  1. +7 −0 subsys/bluetooth/controller/ll_sw/ull_conn.c
@@ -4157,6 +4157,13 @@ static inline void ctrl_tx_ack(struct ll_conn *conn, struct node_tx **tx,
}
break;

case PDU_DATA_LLCTRL_TYPE_REJECT_EXT_IND:
if (pdu_tx->llctrl.reject_ext_ind.reject_opcode !=
PDU_DATA_LLCTRL_TYPE_ENC_REQ) {
break;
}
/* Pass through */

case PDU_DATA_LLCTRL_TYPE_REJECT_IND:
/* resume data packet rx and tx */
conn->pause_rx = 0U;

0 comments on commit 343937c

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