Procházet zdrojové kódy

Bluetooth: mgmt: Check for HCI_UP in update_eir() and update_class()

These functions should just silently fail when we're not powered on
instead of trying to send HCI commands.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Johan Hedberg před 13 roky
rodič
revize
7770c4aaca
1 změnil soubory, kde provedl 6 přidání a 0 odebrání
  1. 6 0
      net/bluetooth/mgmt.c

+ 6 - 0
net/bluetooth/mgmt.c

@@ -532,6 +532,9 @@ static int update_eir(struct hci_dev *hdev)
 {
 	struct hci_cp_write_eir cp;
 
+	if (!test_bit(HCI_UP, &hdev->flags))
+		return 0;
+
 	if (!(hdev->features[6] & LMP_EXT_INQ))
 		return 0;
 
@@ -570,6 +573,9 @@ static int update_class(struct hci_dev *hdev)
 
 	BT_DBG("%s", hdev->name);
 
+	if (!test_bit(HCI_UP, &hdev->flags))
+		return 0;
+
 	if (test_bit(HCI_SERVICE_CACHE, &hdev->dev_flags))
 		return 0;