On Thu, 08 Mar 2018 10:16:46 +0100, Takashi Iwai wrote: > > On Thu, 08 Mar 2018 10:06:51 +0100, > Marcel Holtmann wrote: > > > > Hi Takashi, > > > > > we've got a but report about the broken Atheros BT on the recent > > > kernels: > > > http://bugzilla.opensuse.org/show_bug.cgi?id=1082504 > > > > > > In short, btusb can't load the patch ar3k/AthrBT_0x00000200.dfu, and > > > this could be worked around by the patch to move 0cf3:3004 blacklist > > > entry to use BTUSB_QCA_ROM instead of BTUSB_ATH3012. > > > > > > And this looks like a long-standing problem, at least for over two > > > years. Many web pages suggest the same patch, but it's never merged > > > to upstream. > > > > > > So this made me wonder what's going on. I see that the BTUSB_ATH3012 > > > quirk was originally introduced just for this chip id (0cf3:3004). > > > Is it a different variant from the original chip that causes a > > > problem? > > > > not all patches from distro kernel are sent upstream. I have not heard of this specific issues, but happy to accept patches to get it fixed. > > OK, basically it's like below. > But, as mentioned, this made me wonder whether it's the right fix. > The BTUSB_ATH3012 quirk was introduced exactly for this chip ID > (0cf3:3004), and now this chip is moved to another quirk... > > If this is the right move, I can re-submit via git-send-email, too. > Just let me know. Marcel, could you take a look at this? If it sucks, let's seek for a better solution. thanks, Takashi > > > thanks, > > Takashi > > -- 8< -- > From: Takashi Iwai <tiwai@xxxxxxx> > Subject: [PATCH] Bluebooth: btusb: Fix quirk for Atheros 1525/QCA6174 > > The Atheros 1525/QCA6174 BT doesn't seem working properly on the > recent kernels, as it tries to load a wrong firmware > ar3k/AthrBT_0x00000200.dfu and it fails. > > This seems to have been a problem for some time, and the known > workaround is to apply BTUSB_QCA_ROM quirk instead of BTUSB_ATH3012. > > The device in question is: > > T: Bus=01 Lev=01 Prnt=01 Port=09 Cnt=03 Dev#= 4 Spd=12 MxCh= 0 > D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=0cf3 ProdID=3004 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= 16 Ivl=1ms > E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms > E: Ad=02(O) 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=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms > E: Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms > E: Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms > E: Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms > E: Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms > E: Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms > > Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=1082504 > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> > --- > drivers/bluetooth/btusb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 60bf04b8f103..c5c566fdc629 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -231,7 +231,6 @@ static const struct usb_device_id blacklist_table[] = { > { USB_DEVICE(0x0930, 0x0227), .driver_info = BTUSB_ATH3012 }, > { USB_DEVICE(0x0b05, 0x17d0), .driver_info = BTUSB_ATH3012 }, > { USB_DEVICE(0x0cf3, 0x0036), .driver_info = BTUSB_ATH3012 }, > - { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, > { USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 }, > { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 }, > { USB_DEVICE(0x0cf3, 0x311e), .driver_info = BTUSB_ATH3012 }, > @@ -264,6 +263,7 @@ static const struct usb_device_id blacklist_table[] = { > { USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 }, > > /* QCA ROME chipset */ > + { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_QCA_ROME }, > { USB_DEVICE(0x0cf3, 0xe007), .driver_info = BTUSB_QCA_ROME }, > { USB_DEVICE(0x0cf3, 0xe009), .driver_info = BTUSB_QCA_ROME }, > { USB_DEVICE(0x0cf3, 0xe010), .driver_info = BTUSB_QCA_ROME }, > -- > 2.16.2 > -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html