Merge tag 'powerpc-4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[deliverable/linux.git] / drivers / bluetooth / btusb.c
index a26278b4d25f72cc81b22063597c8f1a7feff09b..811f9b97e360fa416d30a24d54a1b947d85d1512 100644 (file)
@@ -237,6 +237,7 @@ static const struct usb_device_id blacklist_table[] = {
        { USB_DEVICE(0x13d3, 0x3472), .driver_info = BTUSB_ATH3012 },
        { USB_DEVICE(0x13d3, 0x3474), .driver_info = BTUSB_ATH3012 },
        { USB_DEVICE(0x13d3, 0x3487), .driver_info = BTUSB_ATH3012 },
+       { USB_DEVICE(0x13d3, 0x3490), .driver_info = BTUSB_ATH3012 },
 
        /* Atheros AR5BBU12 with sflash firmware */
        { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
@@ -249,6 +250,7 @@ static const struct usb_device_id blacklist_table[] = {
        { USB_DEVICE(0x0cf3, 0xe007), .driver_info = BTUSB_QCA_ROME },
        { USB_DEVICE(0x0cf3, 0xe300), .driver_info = BTUSB_QCA_ROME },
        { USB_DEVICE(0x0cf3, 0xe360), .driver_info = BTUSB_QCA_ROME },
+       { USB_DEVICE(0x0489, 0xe092), .driver_info = BTUSB_QCA_ROME },
 
        /* Broadcom BCM2035 */
        { USB_DEVICE(0x0a5c, 0x2009), .driver_info = BTUSB_BCM92035 },
@@ -2104,10 +2106,14 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
        /* With this Intel bootloader only the hardware variant and device
         * revision information are used to select the right firmware.
         *
-        * Currently this bootloader support is limited to hardware variant
-        * iBT 3.0 (LnP/SfP) which is identified by the value 11 (0x0b).
+        * The firmware filename is ibt-<hw_variant>-<dev_revid>.sfi.
+        *
+        * Currently the supported hardware variants are:
+        *   11 (0x0b) for iBT3.0 (LnP/SfP)
+        *   12 (0x0c) for iBT3.5 (WsP)
         */
-       snprintf(fwname, sizeof(fwname), "intel/ibt-11-%u.sfi",
+       snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u.sfi",
+                le16_to_cpu(ver.hw_variant),
                 le16_to_cpu(params->dev_revid));
 
        err = request_firmware(&fw, fwname, &hdev->dev);
@@ -2123,7 +2129,8 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
        /* Save the DDC file name for later use to apply once the firmware
         * downloading is done.
         */
-       snprintf(fwname, sizeof(fwname), "intel/ibt-11-%u.ddc",
+       snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u.ddc",
+                le16_to_cpu(ver.hw_variant),
                 le16_to_cpu(params->dev_revid));
 
        kfree_skb(skb);
@@ -2826,7 +2833,7 @@ static int btusb_probe(struct usb_interface *intf,
        if (id->driver_info & BTUSB_AMP)
                hdev->dev_type = HCI_AMP;
        else
-               hdev->dev_type = HCI_BREDR;
+               hdev->dev_type = HCI_PRIMARY;
 
        data->hdev = hdev;
 
This page took 0.032442 seconds and 5 git commands to generate.