Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Bluetooth: ath3k: Add support of 04ca:300d AR3012 device

BugLink: https://bugs.launchpad.net/bugs/1394368

This device requires new firmware files
AthrBT_0x11020100.dfu and ramps_0x11020100_40.dfu added to
/lib/firmware/ar3k/ that are not included in linux-firmware yet.

T: Bus=02 Lev=01 Prnt=01 Port=04 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04ca ProdID=300d 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

Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org

authored by

Dmitry Tunin and committed by
Johan Hedberg
7e730c7f e58627d1

+3
+2
drivers/bluetooth/ath3k.c
··· 89 89 { USB_DEVICE(0x04CA, 0x3007) }, 90 90 { USB_DEVICE(0x04CA, 0x3008) }, 91 91 { USB_DEVICE(0x04CA, 0x300b) }, 92 + { USB_DEVICE(0x04CA, 0x300d) }, 92 93 { USB_DEVICE(0x04CA, 0x300f) }, 93 94 { USB_DEVICE(0x04CA, 0x3010) }, 94 95 { USB_DEVICE(0x0930, 0x0219) }, ··· 149 148 { USB_DEVICE(0x04ca, 0x3007), .driver_info = BTUSB_ATH3012 }, 150 149 { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, 151 150 { USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 }, 151 + { USB_DEVICE(0x04ca, 0x300d), .driver_info = BTUSB_ATH3012 }, 152 152 { USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 }, 153 153 { USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 }, 154 154 { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
+1
drivers/bluetooth/btusb.c
··· 188 188 { USB_DEVICE(0x04ca, 0x3007), .driver_info = BTUSB_ATH3012 }, 189 189 { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, 190 190 { USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 }, 191 + { USB_DEVICE(0x04ca, 0x300d), .driver_info = BTUSB_ATH3012 }, 191 192 { USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 }, 192 193 { USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 }, 193 194 { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },