linux/drivers/bluetooth
Marcel Holtmann 7a9d402053 Bluetooth: Send HCI Reset command by default on device initialization
The Bluetooth subsystem was not using the HCI Reset command when doing
device initialization. The Bluetooth 1.0b specification was ambiguous
on how the device firmware was suppose to handle it. Almost every device
was triggering a transport reset at the same time. In case of USB this
ended up in disconnects from the bus.

All modern Bluetooth dongles handle this perfectly fine and a lot of
them actually require that HCI Reset is sent. If not then they are
either stuck in their HID Proxy mode or their internal structures for
inquiry and paging are not correctly setup.

To handle old and new devices smoothly the Bluetooth subsystem contains
a quirk to force the HCI Reset on initialization. However maintaining
such a quirk becomes more and more complicated. This patch turns the
logic around and lets the old devices disable the HCI Reset command.

The only device where the HCI_QUIRK_NO_RESET is still needed are the
original Digianswer devices and dongles with an early CSR firmware.

CSR reported that they fixed this for version 12 firmware. The last
official release of version 11 firmware is build ID 115. The first
version 12 candidate was build ID 117.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2008-11-30 12:17:26 +01:00
..
bcm203x.c [Bluetooth] Removal of unnecessary ignore module parameter 2008-08-07 22:26:55 +02:00
bfusb.c [Bluetooth] Removal of unnecessary ignore module parameter 2008-08-07 22:26:55 +02:00
bluecard_cs.c pcmcia: IRQ_TYPE_EXCLUSIVE is long obsoleted 2008-10-17 23:07:10 +02:00
bpa10x.c Bluetooth: Send HCI Reset command by default on device initialization 2008-11-30 12:17:26 +01:00
bt3c_cs.c Bluetooth: Change simple_strtol to simple_strtoul 2008-11-30 12:17:20 +01:00
btsdio.c Bluetooth: Fix TX error path in btsdio driver 2008-11-30 12:17:18 +01:00
btuart_cs.c pcmcia: IRQ_TYPE_EXCLUSIVE is long obsoleted 2008-10-17 23:07:10 +02:00
btusb.c Bluetooth: Send HCI Reset command by default on device initialization 2008-11-30 12:17:26 +01:00
dtl1_cs.c pcmcia: IRQ_TYPE_EXCLUSIVE is long obsoleted 2008-10-17 23:07:10 +02:00
hci_bcsp.c bluetooth: hci_bcsp: Use SKB list interfaces instead of home-grown stuff. 2008-09-21 22:44:08 -07:00
hci_h4.c [BLUETOOTH]: Introduce skb->data accessor methods for hci_{acl,event,sco}_hdr 2007-04-25 22:28:21 -07:00
hci_ldisc.c Bluetooth: Send HCI Reset command by default on device initialization 2008-11-30 12:17:26 +01:00
hci_ll.c Bluetooth: Respect HCI_UART_DEBUG config in hci_ll.c 2008-11-30 12:17:20 +01:00
hci_uart.h [Bluetooth] Add UART driver for Texas Instruments' BRF63xx chips 2007-10-22 02:59:44 -07:00
hci_vhci.c [Bluetooth] Consolidate maintainers information 2008-08-18 13:23:53 +02:00
Kconfig Bluetooth: Remove deprecated hci_usb driver 2008-11-30 12:17:21 +01:00
Makefile Bluetooth: Remove deprecated hci_usb driver 2008-11-30 12:17:21 +01:00