Bluetooth: Set HCI_QUIRK_RESET_ON_CLOSE for Socket SDIO cards
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 23 Dec 2013 14:52:32 +0000 (06:52 -0800)
committerJohan Hedberg <johan.hedberg@intel.com>
Mon, 23 Dec 2013 16:49:35 +0000 (18:49 +0200)
The Socket Bluetooth SDIO cards are branded versions of Toshiba SD-BT2
and they do not support sending HCI_Reset as first command. To make
this card work the HCI_QUIRK_RESET_ON_CLOSE quirk needs to be set
before registering the controller.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
drivers/bluetooth/btsdio.c

index b61440aaee658210143f435a872ed51e649485e6..1f6815825e61e6b01fb0a68504fb9ba54bb3d498 100644 (file)
@@ -333,6 +333,9 @@ static int btsdio_probe(struct sdio_func *func,
        hdev->flush    = btsdio_flush;
        hdev->send     = btsdio_send_frame;
 
+       if (func->vendor == 0x0104 && func->device == 0x00c5)
+               set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
+
        err = hci_register_dev(hdev);
        if (err < 0) {
                hci_free_dev(hdev);