Skip to content
Commit 1d89b271 authored by Piotr Pryga's avatar Piotr Pryga Committed by Carles Cufí
Browse files

Bluetooth: Controller: llcp: Fix assert if reject while loc and rem pend



In case there are pending two control procedures: local and remote,
and remote device sends LL_REJECT_IND PDU then assertion happened.
ull_cp_rx function triggers assertion because LL_REJECT_IND is
considered as expected packet for all local and remote control
procedures.

That is not correct. It does not allow local procedure to handle
a response and stops a device on assert.

A remote device should not send LL_REJECT_IND PDU for locally initiated
control procedures, hence local device should not expect to receive
LL_REJECT_IND PDU to be expected one for pending remote control
procedure.

Remote device is allowed to send LL_REJECT_EXT_IND PDU for a locally
initiated control procedures. The LL_REJECT_EXT_IND PDU has a Reject-
Opcode that identifies rejected control procedure, hence is may be
expected by local device.

The commit provides changes that prevent the Controller assertion
in described case.

Signed-off-by: default avatarPiotr Pryga <piotr.pryga@nordicsemi.no>
parent f3deccda
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment