OSDN Git Service

Bluetooth: btusb: Add flag to define wideband speech capability
authorAlain Michaud <alainm@chromium.org>
Thu, 27 Feb 2020 18:29:37 +0000 (18:29 +0000)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 28 Feb 2020 07:48:06 +0000 (08:48 +0100)
This change adds a new flag to define a controller's wideband speech
capability.  This is required since no reliable over HCI mechanism
exists to query the controller and driver's compatibility with
wideband speech.

Signed-off-by: Alain Michaud <alainm@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btusb.c

index fa207b7..b34a717 100644 (file)
@@ -57,6 +57,7 @@ static struct usb_driver btusb_driver;
 #define BTUSB_IFNUM_2          0x80000
 #define BTUSB_CW6622           0x100000
 #define BTUSB_MEDIATEK         0x200000
+#define BTUSB_WIDEBAND_SPEECH  0x400000
 
 static const struct usb_device_id btusb_table[] = {
        /* Generic Bluetooth USB device */
@@ -333,15 +334,21 @@ static const struct usb_device_id blacklist_table[] = {
        { USB_DEVICE(0x1286, 0x204e), .driver_info = BTUSB_MARVELL },
 
        /* Intel Bluetooth devices */
-       { USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_NEW },
-       { USB_DEVICE(0x8087, 0x0026), .driver_info = BTUSB_INTEL_NEW },
-       { USB_DEVICE(0x8087, 0x0029), .driver_info = BTUSB_INTEL_NEW },
+       { USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_NEW |
+                                                    BTUSB_WIDEBAND_SPEECH },
+       { USB_DEVICE(0x8087, 0x0026), .driver_info = BTUSB_INTEL_NEW |
+                                                    BTUSB_WIDEBAND_SPEECH },
+       { USB_DEVICE(0x8087, 0x0029), .driver_info = BTUSB_INTEL_NEW |
+                                                    BTUSB_WIDEBAND_SPEECH },
        { USB_DEVICE(0x8087, 0x07da), .driver_info = BTUSB_CSR },
        { USB_DEVICE(0x8087, 0x07dc), .driver_info = BTUSB_INTEL },
        { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL },
-       { USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_NEW },
-       { USB_DEVICE(0x8087, 0x0aa7), .driver_info = BTUSB_INTEL },
-       { USB_DEVICE(0x8087, 0x0aaa), .driver_info = BTUSB_INTEL_NEW },
+       { USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_NEW |
+                                                    BTUSB_WIDEBAND_SPEECH },
+       { USB_DEVICE(0x8087, 0x0aa7), .driver_info = BTUSB_INTEL |
+                                                    BTUSB_WIDEBAND_SPEECH },
+       { USB_DEVICE(0x8087, 0x0aaa), .driver_info = BTUSB_INTEL_NEW |
+                                                    BTUSB_WIDEBAND_SPEECH },
 
        /* Other Intel Bluetooth devices */
        { USB_VENDOR_AND_INTERFACE_INFO(0x8087, 0xe0, 0x01, 0x01),