]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Bluetooth: hci_sync: Fix not setting mask for HCI_EVT_LE_ALL_REMOTE_FEATURES_COMPLETE
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 14 May 2026 13:42:24 +0000 (09:42 -0400)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 20 May 2026 20:35:47 +0000 (16:35 -0400)
This fixes not setting the bit for HCI_EVT_LE_ALL_REMOTE_FEATURES_COMPLETE
when extended features bit is set otherwise the controller may not
generate HCI_EVT_LE_ALL_REMOTE_FEATURES_COMPLETE causing
hci_le_read_all_remote_features_sync to timeout waiting for it.

Also remove dead code.

Fixes: a106e50be74b ("Bluetooth: HCI: Add support for LL Extended Feature Set")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/hci_sync.c

index fd3aacdea512a37c22b9a2be90c89ddca4b4d99f..aff8562a8690d93c861cee6cd3025767690e7a0d 100644 (file)
@@ -4438,6 +4438,9 @@ static int hci_le_set_event_mask_sync(struct hci_dev *hdev)
                events[4] |= 0x02;      /* LE BIG Info Advertising Report */
        }
 
+       if (ll_ext_feature_capable(hdev))
+               events[5] |= BIT(2);
+
        if (le_cs_capable(hdev)) {
                /* Channel Sounding events */
                events[5] |= 0x08;      /* LE CS Read Remote Supported Cap Complete event */
@@ -7413,9 +7416,6 @@ static int hci_le_read_all_remote_features_sync(struct hci_dev *hdev,
                                        sizeof(cp), &cp,
                                        HCI_EVT_LE_ALL_REMOTE_FEATURES_COMPLETE,
                                        HCI_CMD_TIMEOUT, NULL);
-
-       return __hci_cmd_sync_status(hdev, HCI_OP_LE_READ_ALL_REMOTE_FEATURES,
-                                    sizeof(cp), &cp, HCI_CMD_TIMEOUT);
 }
 
 static int hci_le_read_remote_features_sync(struct hci_dev *hdev, void *data)