aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/btusb.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2015-01-28 22:41:43 -0500
committerJohan Hedberg <johan.hedberg@intel.com>2015-01-29 01:24:14 -0500
commitd0ac9eb72b6dceae318c15ee82ef2aaee233666d (patch)
treed91cfd4ab189a69dbf95a7d8b2beae7ff9587faa /drivers/bluetooth/btusb.c
parentcb1ee89f95ce8d5294bde33447d6ccab582c1999 (diff)
Bluetooth: btusb: Ignore unknown Intel devices with generic descriptor
The Intel Bluetooth devices use the generic USB device/interface class descriptors that are assigned to Bluetooth H:2 conforming transports. T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.01 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 However newer chips have a bootloader stage and require firmware to be loaded before they are functional. To avoid any confusion for the users, just ignore unknown Intel Bluetooth devices. All the released Intel Bluetooth devices have an entry in the device table identifying their setup and support requirements. The advantage here is that older kernel can be booted with newer devices without causing any disturbance. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'drivers/bluetooth/btusb.c')
-rw-r--r--drivers/bluetooth/btusb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 4f5b93568ecc..9d2d059a7540 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -263,11 +263,14 @@ static const struct usb_device_id blacklist_table[] = {
263 { USB_DEVICE(0x1286, 0x2044), .driver_info = BTUSB_MARVELL }, 263 { USB_DEVICE(0x1286, 0x2044), .driver_info = BTUSB_MARVELL },
264 { USB_DEVICE(0x1286, 0x2046), .driver_info = BTUSB_MARVELL }, 264 { USB_DEVICE(0x1286, 0x2046), .driver_info = BTUSB_MARVELL },
265 265
266 /* Intel Bluetooth device */ 266 /* Intel Bluetooth devices */
267 { USB_DEVICE(0x8087, 0x07dc), .driver_info = BTUSB_INTEL }, 267 { USB_DEVICE(0x8087, 0x07dc), .driver_info = BTUSB_INTEL },
268 { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL }, 268 { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL },
269 { USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_NEW }, 269 { USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_NEW },
270 270
271 /* Other Intel Bluetooth devices */
272 { USB_VENDOR_AND_INTERFACE_INFO(0x8087, 0xe0, 0x01, 0x01),
273 .driver_info = BTUSB_IGNORE },
271 274
272 { } /* Terminating entry */ 275 { } /* Terminating entry */
273}; 276};