Prechádzať zdrojové kódy

Bluetooth: Fix clearing persistent flags

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>
Johan Hedberg 13 rokov pred
rodič
commit
7005ff1780
1 zmenil súbory, kde vykonal 2 pridanie a 2 odobranie
  1. 2 2
      net/bluetooth/hci_event.c

+ 2 - 2
net/bluetooth/hci_event.c

@@ -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)