Bluetooth: Fix clearing persistent flags
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 18 Jan 2012 14:14:43 +0000 (16:14 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Mon, 13 Feb 2012 15:01:27 +0000 (17:01 +0200)
There are several other dev_flags besided HCI_MGMT that should not be
cleared upon reset.

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

index 42d63522270fc6ce14d624c2e022de22fea00821..54132a909ea5d01915738258bdea270eb4f58db7 100644 (file)
@@ -195,8 +195,8 @@ static void hci_cc_reset(struct hci_dev *hdev, struct sk_buff *skb)
 
        hci_req_complete(hdev, HCI_OP_RESET, status);
 
-       /* Reset all flags, except persistent ones like HCI_MGMT */
-       hdev->dev_flags &= BIT(HCI_MGMT);
+       /* Reset all flags, except persistent ones */
+       hdev->dev_flags &= BIT(HCI_MGMT) | BIT(HCI_SETUP) | BIT(HCI_AUTO_OFF);
 }
 
 static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)