|
@@ -935,9 +935,14 @@ static int set_connectable(struct sock *sk, u16 index, void *data, u16 len)
|
|
|
|
|
|
if (cp->val)
|
|
|
scan = SCAN_PAGE;
|
|
|
- else
|
|
|
+ else {
|
|
|
scan = 0;
|
|
|
|
|
|
+ if (test_bit(HCI_ISCAN, &hdev->flags) &&
|
|
|
+ hdev->discov_timeout > 0)
|
|
|
+ cancel_delayed_work(&hdev->discov_off);
|
|
|
+ }
|
|
|
+
|
|
|
err = hci_send_cmd(hdev, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan);
|
|
|
if (err < 0)
|
|
|
mgmt_pending_remove(cmd);
|