|
@@ -242,7 +242,8 @@ static void hci_cc_read_local_name(struct hci_dev *hdev, struct sk_buff *skb)
|
|
if (rp->status)
|
|
if (rp->status)
|
|
return;
|
|
return;
|
|
|
|
|
|
- if (test_bit(HCI_SETUP, &hdev->dev_flags))
|
|
|
|
|
|
+ if (test_bit(HCI_SETUP, &hdev->dev_flags) ||
|
|
|
|
+ test_bit(HCI_CONFIG, &hdev->dev_flags))
|
|
memcpy(hdev->dev_name, rp->name, HCI_MAX_NAME_LENGTH);
|
|
memcpy(hdev->dev_name, rp->name, HCI_MAX_NAME_LENGTH);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -509,7 +510,8 @@ static void hci_cc_read_local_version(struct hci_dev *hdev, struct sk_buff *skb)
|
|
if (rp->status)
|
|
if (rp->status)
|
|
return;
|
|
return;
|
|
|
|
|
|
- if (test_bit(HCI_SETUP, &hdev->dev_flags)) {
|
|
|
|
|
|
+ if (test_bit(HCI_SETUP, &hdev->dev_flags) ||
|
|
|
|
+ test_bit(HCI_CONFIG, &hdev->dev_flags)) {
|
|
hdev->hci_ver = rp->hci_ver;
|
|
hdev->hci_ver = rp->hci_ver;
|
|
hdev->hci_rev = __le16_to_cpu(rp->hci_rev);
|
|
hdev->hci_rev = __le16_to_cpu(rp->hci_rev);
|
|
hdev->lmp_ver = rp->lmp_ver;
|
|
hdev->lmp_ver = rp->lmp_ver;
|
|
@@ -528,7 +530,8 @@ static void hci_cc_read_local_commands(struct hci_dev *hdev,
|
|
if (rp->status)
|
|
if (rp->status)
|
|
return;
|
|
return;
|
|
|
|
|
|
- if (test_bit(HCI_SETUP, &hdev->dev_flags))
|
|
|
|
|
|
+ if (test_bit(HCI_SETUP, &hdev->dev_flags) ||
|
|
|
|
+ test_bit(HCI_CONFIG, &hdev->dev_flags))
|
|
memcpy(hdev->commands, rp->commands, sizeof(hdev->commands));
|
|
memcpy(hdev->commands, rp->commands, sizeof(hdev->commands));
|
|
}
|
|
}
|
|
|
|
|