Bluetooth: Skip unconfigured init procedure for raw-only devices
authorMarcel Holtmann <marcel@holtmann.org>
Sun, 6 Jul 2014 11:43:20 +0000 (13:43 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Sun, 6 Jul 2014 11:57:49 +0000 (14:57 +0300)
When the driver sets HCI_QUIRK_RAW_DEVICE, the controller will be set
as unconfigured. However running the unconfigured init procecure is
not useful since raw-only devices are not allowed to change its
configuration. This change skips the init procedure and just allows
user channel operation for this device.

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

index b1d423efa109c977e8b620990e6b50fec71ed468..fc7abd3c012dfeb1da454211599e9960eb87cea8 100644 (file)
@@ -1813,6 +1813,9 @@ static int __hci_unconf_init(struct hci_dev *hdev)
 {
        int err;
 
+       if (test_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks))
+               return 0;
+
        err = __hci_req_sync(hdev, hci_init0_req, 0, HCI_INIT_TIMEOUT);
        if (err < 0)
                return err;