|
@@ -767,7 +767,8 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
|
/* Reset device */
|
|
/* Reset device */
|
|
skb_queue_purge(&hdev->cmd_q);
|
|
skb_queue_purge(&hdev->cmd_q);
|
|
atomic_set(&hdev->cmd_cnt, 1);
|
|
atomic_set(&hdev->cmd_cnt, 1);
|
|
- if (!test_bit(HCI_RAW, &hdev->flags)) {
|
|
|
|
|
|
+ if (!test_bit(HCI_RAW, &hdev->flags) &&
|
|
|
|
+ test_bit(HCI_QUIRK_NO_RESET, &hdev->quirks)) {
|
|
set_bit(HCI_INIT, &hdev->flags);
|
|
set_bit(HCI_INIT, &hdev->flags);
|
|
__hci_request(hdev, hci_reset_req, 0,
|
|
__hci_request(hdev, hci_reset_req, 0,
|
|
msecs_to_jiffies(250));
|
|
msecs_to_jiffies(250));
|