linux-stable/drivers/bluetooth
Marcel Holtmann 9d08f50401 Bluetooth: btusb: Add support for Broadcom LM_DIAG interface
The Broadcom Bluetooth USB devices have a third interface that is
dedicated for LM_DIAG messages. The If#= 2 describes this interface
and it consists of one bulk in and one bulk endpoint.

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 38 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=19ff ProdID=0239 Rev= 1.12
S:  Manufacturer=Broadcom Corp
S:  Product=BCM20702A0
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=btusb
E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

For all Broadcom based devices with this interface, the driver now
claims it and schedules URBs for it. This allows to capture the
LM_DIAG messages and allows forwarding them via hci_recv_diag into
the diagnostic channel of the Bluetooth subsystem.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2015-10-21 00:49:21 +02:00
..
ath3k.c Bluetooth: ath3k: Add support of 04ca:300d AR3012 device 2015-06-18 21:00:06 +03:00
bcm203x.c
bfusb.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
bluecard_cs.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
bpa10x.c Bluetooth: bpa10x: Use h4_recv_buf helper for frame reassembly 2015-10-08 10:04:27 +03:00
bt3c_cs.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
btbcm.c Bluetooth: btbcm: Read the local name in setup stage 2015-10-07 07:41:11 +03:00
btbcm.h Bluetooth: btbcm: Support the BCM4354 Bluetooth UART device 2015-06-17 18:56:53 +02:00
btintel.c Bluetooth: btintel: Add iBT register access over HCI support 2015-10-03 19:03:15 +02:00
btintel.h Bluetooth: btintel: Add iBT register access over HCI support 2015-10-03 19:03:15 +02:00
btmrvl_debugfs.c Bluetooth: btmrvl add firmware dump support 2014-12-03 17:35:51 +01:00
btmrvl_drv.h Bluetooth: btmrvl: Coding style Fix for btmrvl header 2015-07-27 10:30:32 +03:00
btmrvl_main.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
btmrvl_sdio.c Bluetooth: btmrvl: Comparison to NULL re-written 2015-09-25 21:39:04 +02:00
btmrvl_sdio.h Bluetooth: btmrvl add firmware dump support 2014-12-03 17:35:51 +01:00
btqca.c Bluetooth: btqca: Introduce generic QCA ROME support 2015-08-10 23:52:20 +02:00
btqca.h Bluetooth: btqca: Introduce generic QCA ROME support 2015-08-10 23:52:20 +02:00
btrtl.c Bluetooth: btrtl: Create separate module for Realtek BT driver 2015-05-14 12:04:12 +02:00
btrtl.h Bluetooth: btrtl: Create separate module for Realtek BT driver 2015-05-14 12:04:12 +02:00
btsdio.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
btuart_cs.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
btusb.c Bluetooth: btusb: Add support for Broadcom LM_DIAG interface 2015-10-21 00:49:21 +02:00
btwilink.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
dtl1_cs.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
hci_ath.c Bluetooth: hci_uart: Fix dereferencing of ERR_PTR 2015-06-17 14:21:08 +02:00
hci_bcm.c Bluetooth: hci_bcm: Enable support for set_diag driver callback 2015-10-08 09:59:16 +03:00
hci_bcsp.c Bluetooth: hci_bcsp: Clean up code Fix 2015-06-09 13:59:09 +02:00
hci_h4.c Bluetooth: bpa10x: Use h4_recv_buf helper for frame reassembly 2015-10-08 10:04:27 +03:00
hci_h5.c Bluetooth: hci_h5: clean up hci_h5 code 2015-09-30 16:12:17 +02:00
hci_intel.c Bluetooth: hci_intel: Cleanup the device probe code 2015-10-01 08:55:42 +02:00
hci_ldisc.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
hci_ll.c Bluetooth: hci_uart: Remove the manual protocol init message 2015-04-07 18:47:10 +02:00
hci_qca.c Bluetooth: hci_qca: Changed unsigned long to bool 2015-09-28 13:06:13 +02:00
hci_uart.h Bluetooth: Remove useless rx_lock spinlock 2015-09-24 16:25:44 +02:00
hci_vhci.c Bluetooth: Move handling of HCI_RUNNING flag into core 2015-10-05 10:30:25 +03:00
Kconfig Bluetooth: bpa10x: Fix missing BT_HCIUART dependency 2015-10-21 00:48:13 +02:00
Makefile Bluetooth: hciuart: Add support QCA chipset for UART 2015-08-10 23:52:20 +02:00