Bluetooth: btusb: Enable MSFT extension for Intel ThunderPeak devices
Marcel Holtmann
maintainerPATCH v3 3/3 Bluetooth: btusb: Enable MSFT extension for Intel ThunderPeak devices
From: Miao-chen Chou <[email protected]>
The Intel ThundePeak BT controllers support the Microsoft vendor extension and they are using 0xFC1E for VsMsftOpCode.
< HCI Command: Vendor (0x3f|0x001e) plen 1
00
Quoted 1 line
HCI Event: Command Complete (
0x0e) plen 15
Vendor (0x3f|0x001e) ncmd 1
Status: Success (0x00)
00 3f 00 00 00 00 00 00 00 01 50Signed-off-by Miao-chen Chou <[email protected]>
Signed-off-by Marcel Holtmann <[email protected]>
--- drivers/bluetooth/btusb.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
drivers/bluetooth/btusb.c +9 -1
@@ -58,6 +58,7 @@ static struct usb_driver btusb_driver;#define BTUSB_CW6622 0x100000#define BTUSB_MEDIATEK 0x200000#define BTUSB_WIDEBAND_SPEECH 0x400000 +#define BTUSB_MSFT_VND_EXT 0x800000static const struct usb_device_id btusb_table[] = {/* Generic Bluetooth USB device */
@@ -335,7 +336,8 @@ static const struct usb_device_id blacklist_table[] = {/* Intel Bluetooth devices */ { USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_NEW | - BTUSB_WIDEBAND_SPEECH }, +BTUSB_WIDEBAND_SPEECH | + BTUSB_MSFT_VND_EXT }, { USB_DEVICE(0x8087, 0x0026), .driver_info = BTUSB_INTEL_NEW | BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x8087, 0x0029), .driver_info = BTUSB_INTEL_NEW |
@@ -3800,6 +3802,12 @@ static int btusb_probe(struct usb_interface *intf,set_bit (HCI_QUIRK_STRICT_DUPLICATE_FILTER , &hdev->quirks);set_bit (HCI_QUIRK_SIMULTANEOUS_DISCOVERY , &hdev->quirks);set_bit (HCI_QUIRK_NON_PERSISTENT_DIAG , &hdev->quirks); + +/* All Intel controllers that support the Microsoft +* vendor extension are using 0xFC1E for VsMsftOpCode. +*/ +if (id->driver_info &BTUSB_MSFT_VND_EXT ) +hci_set_msft_opcode (hdev,0xFC1E ); }if (id->driver_info &BTUSB_MARVELL )
Signature · 1 line
2.25.1