|
@@ -645,8 +645,14 @@ static void hci_cc_read_bd_addr(struct hci_dev *hdev, struct sk_buff *skb)
|
|
|
|
|
|
BT_DBG("%s status 0x%2.2x", hdev->name, rp->status);
|
|
|
|
|
|
- if (!rp->status)
|
|
|
+ if (rp->status)
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (test_bit(HCI_INIT, &hdev->flags))
|
|
|
bacpy(&hdev->bdaddr, &rp->bdaddr);
|
|
|
+
|
|
|
+ if (test_bit(HCI_SETUP, &hdev->dev_flags))
|
|
|
+ bacpy(&hdev->setup_addr, &rp->bdaddr);
|
|
|
}
|
|
|
|
|
|
static void hci_cc_read_page_scan_activity(struct hci_dev *hdev,
|