Bluetooth: btusb: Enable MSFT extension for Intel ThunderPeak devices
authorMiao-chen Chou <mcchou@chromium.org>
Fri, 3 Apr 2020 19:44:03 +0000 (21:44 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Sun, 5 Apr 2020 11:53:09 +0000 (14:53 +0300)
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
> 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 50

Signed-off-by: Miao-chen Chou <mcchou@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
drivers/bluetooth/btusb.c

index 43925bd..09913ca 100644 (file)
@@ -2542,6 +2542,15 @@ done:
        btintel_version_info(hdev, &ver);
 
 finish:
+       /* All Intel controllers that support the Microsoft vendor
+        * extension are using 0xFC1E for VsMsftOpCode.
+        */
+       switch (ver.hw_variant) {
+       case 0x12:      /* ThP */
+               hci_set_msft_opcode(hdev, 0xFC1E);
+               break;
+       }
+
        /* Set the event mask for Intel specific vendor events. This enables
         * a few extra events that are useful during general operation. It
         * does not enable any debugging related events.