]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
Bluetooth: btusb: Add support for Intel Bluetooth device 22560 [8087:0026]
authorTedd Ho-Jeong An <tedd.an@intel.com>
Mon, 5 Feb 2018 22:20:36 +0000 (14:20 -0800)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 14 Aug 2018 10:30:10 +0000 (12:30 +0200)
BugLink: http://bugs.launchpad.net/bugs/1783418
[ Upstream commit 1ce0cec1c14cda7e514fa21b36c0f035203b447d ]

The Intel Bluetooth device 22560 family (HarrisonPeak, QnJ, and IcyPeak)
use the same firmware loading mechanism as previous generation,
so include new USB product ID and whitelist the hardware variant.

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 16 Spd=12   MxCh= 0
D:  Ver= 2.01 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=0026 Rev= 0.01
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms

Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/bluetooth/btusb.c

index 5db88237fa64665f4ce23f8cadbb0bfd7def86db..7d89db53edc862b9c7a56a9927d58cc1e4982347 100644 (file)
@@ -339,6 +339,7 @@ static const struct usb_device_id blacklist_table[] = {
 
        /* Intel Bluetooth devices */
        { USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_NEW },
+       { USB_DEVICE(0x8087, 0x0026), .driver_info = BTUSB_INTEL_NEW },
        { USB_DEVICE(0x8087, 0x07da), .driver_info = BTUSB_CSR },
        { USB_DEVICE(0x8087, 0x07dc), .driver_info = BTUSB_INTEL },
        { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL },
@@ -2083,6 +2084,8 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
        case 0x0c:      /* WsP */
        case 0x11:      /* JfP */
        case 0x12:      /* ThP */
+       case 0x13:      /* HrP */
+       case 0x14:      /* QnJ, IcP */
                break;
        default:
                BT_ERR("%s: Unsupported Intel hardware variant (%u)",
@@ -2206,6 +2209,8 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
                break;
        case 0x11:      /* JfP */
        case 0x12:      /* ThP */
+       case 0x13:      /* HrP */
+       case 0x14:      /* QnJ, IcP */
                snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u-%u.sfi",
                         le16_to_cpu(ver.hw_variant),
                         le16_to_cpu(ver.hw_revision),
@@ -2238,6 +2243,8 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
                break;
        case 0x11:      /* JfP */
        case 0x12:      /* ThP */
+       case 0x13:      /* HrP */
+       case 0x14:      /* QnJ, IcP */
                snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u-%u.ddc",
                         le16_to_cpu(ver.hw_variant),
                         le16_to_cpu(ver.hw_revision),