Browse Source

Bluetooth: Store supported commands only during setup procedure

The list of supported commands of a controller can not change during
its lifetime. So store the list just once during the setup procedure
and not every time the HCI command is executed.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Marcel Holtmann 11 years ago
parent
commit
6a070e6e81
1 changed files with 4 additions and 1 deletions
  1. 4 1
      net/bluetooth/hci_event.c

+ 4 - 1
net/bluetooth/hci_event.c

@@ -486,7 +486,10 @@ static void hci_cc_read_local_commands(struct hci_dev *hdev,
 
 
 	BT_DBG("%s status 0x%2.2x", hdev->name, rp->status);
 	BT_DBG("%s status 0x%2.2x", hdev->name, rp->status);
 
 
-	if (!rp->status)
+	if (rp->status)
+		return;
+
+	if (test_bit(HCI_SETUP, &hdev->dev_flags))
 		memcpy(hdev->commands, rp->commands, sizeof(hdev->commands));
 		memcpy(hdev->commands, rp->commands, sizeof(hdev->commands));
 }
 }