Bluetooth: mgmt: Fix connectable/discoverable response values
The connectable/discoverable flags need to be changed before sending the response since otherwise the settings value will be incorrect. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
a297e97cf7
commit
ed9b5f2fa0
|
@ -2965,8 +2965,6 @@ int mgmt_discoverable(struct hci_dev *hdev, u8 discoverable)
|
|||
bool changed = false;
|
||||
int err = 0;
|
||||
|
||||
mgmt_pending_foreach(MGMT_OP_SET_DISCOVERABLE, hdev, settings_rsp, &match);
|
||||
|
||||
if (discoverable) {
|
||||
if (!test_and_set_bit(HCI_DISCOVERABLE, &hdev->dev_flags))
|
||||
changed = true;
|
||||
|
@ -2975,6 +2973,9 @@ int mgmt_discoverable(struct hci_dev *hdev, u8 discoverable)
|
|||
changed = true;
|
||||
}
|
||||
|
||||
mgmt_pending_foreach(MGMT_OP_SET_DISCOVERABLE, hdev, settings_rsp,
|
||||
&match);
|
||||
|
||||
if (changed)
|
||||
err = new_settings(hdev, match.sk);
|
||||
|
||||
|
@ -2990,9 +2991,6 @@ int mgmt_connectable(struct hci_dev *hdev, u8 connectable)
|
|||
bool changed = false;
|
||||
int err = 0;
|
||||
|
||||
mgmt_pending_foreach(MGMT_OP_SET_CONNECTABLE, hdev, settings_rsp,
|
||||
&match);
|
||||
|
||||
if (connectable) {
|
||||
if (!test_and_set_bit(HCI_CONNECTABLE, &hdev->dev_flags))
|
||||
changed = true;
|
||||
|
@ -3001,6 +2999,9 @@ int mgmt_connectable(struct hci_dev *hdev, u8 connectable)
|
|||
changed = true;
|
||||
}
|
||||
|
||||
mgmt_pending_foreach(MGMT_OP_SET_CONNECTABLE, hdev, settings_rsp,
|
||||
&match);
|
||||
|
||||
if (changed)
|
||||
err = new_settings(hdev, match.sk);
|
||||
|
||||
|
|
Loading…
Reference in New Issue