Bluetooth: host: Fix L2CAP reconfigure response with invalid CID

When an L2CAP_CREDIT_BASED_RECONFIGURE_REQ packet is received with
invalid parameters, the recipient shall send an
L2CAP_CREDIT_BASED_RECONFIGURE_RSP PDU with a non-zero Result field
and not change any MTU and MPS values.

This fix incorrectly reconfiguring valid channels while responding with
0x003 (Reconfiguration failed - one or more Destination CIDs invalid)
result code.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
(cherry picked from commit 253070b76b)
This commit is contained in:
Szymon Janc 2022-04-27 15:15:42 +02:00 committed by Christopher Friedt
parent 089675af45
commit 2ad1ef651b
1 changed files with 1 additions and 1 deletions

View File

@ -1295,7 +1295,7 @@ static void le_ecred_reconf_req(struct bt_l2cap *l2cap, uint8_t ident,
chan = bt_l2cap_le_lookup_tx_cid(conn, scid);
if (!chan) {
result = BT_L2CAP_RECONF_INVALID_CID;
continue;
goto response;
}
if (BT_L2CAP_LE_CHAN(chan)->tx.mtu > mtu) {