|
@@ -62,6 +62,7 @@ static struct usb_driver btusb_driver;
|
|
|
#define BTUSB_REALTEK 0x20000
|
|
|
#define BTUSB_BCM2045 0x40000
|
|
|
#define BTUSB_IFNUM_2 0x80000
|
|
|
+#define BTUSB_CW6622 0x100000
|
|
|
|
|
|
static const struct usb_device_id btusb_table[] = {
|
|
|
/* Generic Bluetooth USB device */
|
|
@@ -291,7 +292,8 @@ static const struct usb_device_id blacklist_table[] = {
|
|
|
{ USB_DEVICE(0x0400, 0x080a), .driver_info = BTUSB_BROKEN_ISOC },
|
|
|
|
|
|
/* CONWISE Technology based adapters with buggy SCO support */
|
|
|
- { USB_DEVICE(0x0e5e, 0x6622), .driver_info = BTUSB_BROKEN_ISOC },
|
|
|
+ { USB_DEVICE(0x0e5e, 0x6622),
|
|
|
+ .driver_info = BTUSB_BROKEN_ISOC | BTUSB_CW6622},
|
|
|
|
|
|
/* Roper Class 1 Bluetooth Dongle (Silicon Wave based) */
|
|
|
{ USB_DEVICE(0x1310, 0x0001), .driver_info = BTUSB_SWAVE },
|
|
@@ -2845,6 +2847,9 @@ static int btusb_probe(struct usb_interface *intf,
|
|
|
hdev->send = btusb_send_frame;
|
|
|
hdev->notify = btusb_notify;
|
|
|
|
|
|
+ if (id->driver_info & BTUSB_CW6622)
|
|
|
+ set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, &hdev->quirks);
|
|
|
+
|
|
|
if (id->driver_info & BTUSB_BCM2045)
|
|
|
set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, &hdev->quirks);
|
|
|
|