Bluetooth: Fix not setting HCI_RESET flag for AMP
[profile/ivi/kernel-adaptation-intel-automotive.git] / net / bluetooth / hci_core.c
index f7a35cc..a2bdf93 100644 (file)
@@ -188,12 +188,6 @@ static void bredr_init(struct hci_dev *hdev)
 
        /* Mandatory initialization */
 
-       /* Reset */
-       if (!test_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks)) {
-               set_bit(HCI_RESET, &hdev->flags);
-               hci_send_cmd(hdev, HCI_OP_RESET, 0, NULL);
-       }
-
        /* Read Local Supported Features */
        hci_send_cmd(hdev, HCI_OP_READ_LOCAL_FEATURES, 0, NULL);
 
@@ -234,9 +228,6 @@ static void amp_init(struct hci_dev *hdev)
 {
        hdev->flow_ctl_mode = HCI_FLOW_CTL_MODE_BLOCK_BASED;
 
-       /* Reset */
-       hci_send_cmd(hdev, HCI_OP_RESET, 0, NULL);
-
        /* Read Local Version */
        hci_send_cmd(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL);
 
@@ -262,6 +253,10 @@ static void hci_init_req(struct hci_dev *hdev, unsigned long opt)
        }
        skb_queue_purge(&hdev->driver_init);
 
+       /* Reset */
+       if (!test_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks))
+               hci_reset_req(hdev, 0);
+
        switch (hdev->dev_type) {
        case HCI_BREDR:
                bredr_init(hdev);