aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/bluetooth/mgmt.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 2e6564e47ded..4c4912e9a7c4 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3924,6 +3924,21 @@ static int set_scan_params(struct sock *sk, struct hci_dev *hdev,
3924 3924
3925 err = cmd_complete(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, 0, NULL, 0); 3925 err = cmd_complete(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, 0, NULL, 0);
3926 3926
3927 /* If background scan is running, restart it so new parameters are
3928 * loaded.
3929 */
3930 if (test_bit(HCI_LE_SCAN, &hdev->dev_flags) &&
3931 hdev->discovery.state == DISCOVERY_STOPPED) {
3932 struct hci_request req;
3933
3934 hci_req_init(&req, hdev);
3935
3936 hci_req_add_le_scan_disable(&req);
3937 hci_req_add_le_passive_scan(&req);
3938
3939 hci_req_run(&req, NULL);
3940 }
3941
3927 hci_dev_unlock(hdev); 3942 hci_dev_unlock(hdev);
3928 3943
3929 return err; 3944 return err;