Hi Raghuram, > Include the new USB product ID for Intel Bluetooth device 22260 > family (CcPeak) > > The /sys/kernel/debug/usb/devices portion for this device is: > > T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 2 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=8087 ProdID=0029 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: Raghuram Hegde <raghuram.hegde@xxxxxxxxx> > Signed-off-by: Chethan T N <chethan.tumkur.narayan@xxxxxxxxx> > --- > drivers/bluetooth/btusb.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 7439a7eb50ac..1cd54e9228d3 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -342,6 +342,7 @@ static const struct usb_device_id blacklist_table[] = { > { USB_DEVICE(0x1286, 0x204e), .driver_info = BTUSB_MARVELL }, > > /* Intel Bluetooth devices */ > + { USB_DEVICE(0x8087, 0x0029), .driver_info = BTUSB_INTEL_NEW }, > { 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 }, lets keep this ordered. 0x0029 comes after 0x0026. > @@ -2106,7 +2107,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev) > case 0x11: /* JfP */ > case 0x12: /* ThP */ > case 0x13: /* HrP */ > - case 0x14: /* QnJ, IcP */ > + case 0x14: /* CcP */ This makes no sense to me. What is happening to QnJ and IcP? > break; > default: > bt_dev_err(hdev, "Unsupported Intel hardware variant (%u)", > @@ -2200,7 +2201,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev) > case 0x11: /* JfP */ > case 0x12: /* ThP */ > case 0x13: /* HrP */ > - case 0x14: /* QnJ, IcP */ > + case 0x14: /* CcP */ > snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u-%u.sfi", > le16_to_cpu(ver.hw_variant), > le16_to_cpu(ver.hw_revision), > @@ -2232,7 +2233,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev) > case 0x11: /* JfP */ > case 0x12: /* ThP */ > case 0x13: /* HrP */ > - case 0x14: /* QnJ, IcP */ > + case 0x14: /* CcP */ > snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u-%u.ddc", > le16_to_cpu(ver.hw_variant), > le16_to_cpu(ver.hw_revision), This really needs to be turned into a helper to get .sfi and .ddc file names so that in the future we only have to add the new once. Regards Marcel