OSDN Git Service

Bluetooth: hci_event: fix Set CIG Parameters error status handling
authorPauli Virtanen <pav@iki.fi>
Fri, 2 Jun 2023 21:28:12 +0000 (00:28 +0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 29 Jun 2023 17:52:18 +0000 (10:52 -0700)
If the event has error status, return right error code and don't show
incorrect "response malformed" messages.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bluetooth/hci_event.c

index 09ba6d8..1d493ee 100644 (file)
@@ -3812,7 +3812,8 @@ static u8 hci_cc_le_set_cig_params(struct hci_dev *hdev, void *data,
        bt_dev_dbg(hdev, "status 0x%2.2x", rp->status);
 
        cp = hci_sent_cmd_data(hdev, HCI_OP_LE_SET_CIG_PARAMS);
-       if (!cp || rp->num_handles != cp->num_cis || rp->cig_id != cp->cig_id) {
+       if (!rp->status && (!cp || rp->num_handles != cp->num_cis ||
+                           rp->cig_id != cp->cig_id)) {
                bt_dev_err(hdev, "unexpected Set CIG Parameters response data");
                status = HCI_ERROR_UNSPECIFIED;
        }