]> www.infradead.org Git - users/hch/misc.git/commitdiff
Bluetooth: btusb: Fix regression in the initialization of fake Bluetooth controllers
authorPedro Nishiyama <nishiyama.pedro@gmail.com>
Sat, 1 Mar 2025 06:23:01 +0000 (03:23 -0300)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tue, 25 Mar 2025 16:44:32 +0000 (12:44 -0400)
Set HCI_READ_VOICE_SETTING and HCI_READ_PAGE_SCAN_TYPE as broken.

Once the min/max length of the commands began to be asserted, these fake
controllers can no longer be initialized because they return a smaller
report for these commands.

This affects various fake controllers reusing the 0A12:0001 VID/PID.

Fixes: c8992cffbe74 ("Bluetooth: hci_event: Use of a function table to handle Command Complete")
Signed-off-by: Pedro Nishiyama <nishiyama.pedro@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btusb.c

index 7080d02f610b12e0bd5ce67e64bbef7d01656929..5012b5ff92c8a3231d004384a5e2dbb9a9cd53d9 100644 (file)
@@ -2509,6 +2509,8 @@ static int btusb_setup_csr(struct hci_dev *hdev)
                set_bit(HCI_QUIRK_BROKEN_ERR_DATA_REPORTING, &hdev->quirks);
                set_bit(HCI_QUIRK_BROKEN_FILTER_CLEAR_ALL, &hdev->quirks);
                set_bit(HCI_QUIRK_NO_SUSPEND_NOTIFIER, &hdev->quirks);
+               set_bit(HCI_QUIRK_BROKEN_READ_VOICE_SETTING, &hdev->quirks);
+               set_bit(HCI_QUIRK_BROKEN_READ_PAGE_SCAN_TYPE, &hdev->quirks);
 
                /* Clear the reset quirk since this is not an actual
                 * early Bluetooth 1.1 device from CSR.