aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/btusb.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 61d8385666e9..21f10cac4fac 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -49,7 +49,8 @@ static struct usb_driver btusb_driver;
49#define BTUSB_WRONG_SCO_MTU 0x40 49#define BTUSB_WRONG_SCO_MTU 0x40
50#define BTUSB_ATH3012 0x80 50#define BTUSB_ATH3012 0x80
51#define BTUSB_INTEL 0x100 51#define BTUSB_INTEL 0x100
52#define BTUSB_BCM_PATCHRAM 0x200 52#define BTUSB_INTEL_BOOT 0x200
53#define BTUSB_BCM_PATCHRAM 0x400
53 54
54static const struct usb_device_id btusb_table[] = { 55static const struct usb_device_id btusb_table[] = {
55 /* Generic Bluetooth USB device */ 56 /* Generic Bluetooth USB device */
@@ -121,6 +122,9 @@ static const struct usb_device_id btusb_table[] = {
121 /* IMC Networks - Broadcom based */ 122 /* IMC Networks - Broadcom based */
122 { USB_VENDOR_AND_INTERFACE_INFO(0x13d3, 0xff, 0x01, 0x01) }, 123 { USB_VENDOR_AND_INTERFACE_INFO(0x13d3, 0xff, 0x01, 0x01) },
123 124
125 /* Intel Bluetooth USB Bootloader (RAM module) */
126 { USB_DEVICE(0x8087, 0x0a5a), .driver_info = BTUSB_INTEL_BOOT },
127
124 { } /* Terminating entry */ 128 { } /* Terminating entry */
125}; 129};
126 130
@@ -1770,6 +1774,9 @@ static int btusb_probe(struct usb_interface *intf,
1770 hdev->set_bdaddr = btusb_set_bdaddr_intel; 1774 hdev->set_bdaddr = btusb_set_bdaddr_intel;
1771 } 1775 }
1772 1776
1777 if (id->driver_info & BTUSB_INTEL_BOOT)
1778 set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks);
1779
1773 /* Interface numbers are hardcoded in the specification */ 1780 /* Interface numbers are hardcoded in the specification */
1774 data->isoc = usb_ifnum_to_if(data->udev, 1); 1781 data->isoc = usb_ifnum_to_if(data->udev, 1);
1775 1782