|
@@ -3558,6 +3558,26 @@ unlock:
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
+static void set_bredr_scan(struct hci_request *req)
|
|
|
+{
|
|
|
+ struct hci_dev *hdev = req->hdev;
|
|
|
+ u8 scan = 0;
|
|
|
+
|
|
|
+ /* Ensure that fast connectable is disabled. This function will
|
|
|
+ * not do anything if the page scan parameters are already what
|
|
|
+ * they should be.
|
|
|
+ */
|
|
|
+ write_fast_connectable(req, false);
|
|
|
+
|
|
|
+ if (test_bit(HCI_CONNECTABLE, &hdev->dev_flags))
|
|
|
+ scan |= SCAN_PAGE;
|
|
|
+ if (test_bit(HCI_DISCOVERABLE, &hdev->dev_flags))
|
|
|
+ scan |= SCAN_INQUIRY;
|
|
|
+
|
|
|
+ if (scan)
|
|
|
+ hci_req_add(req, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan);
|
|
|
+}
|
|
|
+
|
|
|
static void set_bredr_complete(struct hci_dev *hdev, u8 status)
|
|
|
{
|
|
|
struct pending_cmd *cmd;
|
|
@@ -3917,26 +3937,6 @@ void mgmt_index_removed(struct hci_dev *hdev)
|
|
|
mgmt_event(MGMT_EV_INDEX_REMOVED, hdev, NULL, 0, NULL);
|
|
|
}
|
|
|
|
|
|
-static void set_bredr_scan(struct hci_request *req)
|
|
|
-{
|
|
|
- struct hci_dev *hdev = req->hdev;
|
|
|
- u8 scan = 0;
|
|
|
-
|
|
|
- /* Ensure that fast connectable is disabled. This function will
|
|
|
- * not do anything if the page scan parameters are already what
|
|
|
- * they should be.
|
|
|
- */
|
|
|
- write_fast_connectable(req, false);
|
|
|
-
|
|
|
- if (test_bit(HCI_CONNECTABLE, &hdev->dev_flags))
|
|
|
- scan |= SCAN_PAGE;
|
|
|
- if (test_bit(HCI_DISCOVERABLE, &hdev->dev_flags))
|
|
|
- scan |= SCAN_INQUIRY;
|
|
|
-
|
|
|
- if (scan)
|
|
|
- hci_req_add(req, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan);
|
|
|
-}
|
|
|
-
|
|
|
static void powered_complete(struct hci_dev *hdev, u8 status)
|
|
|
{
|
|
|
struct cmd_lookup match = { NULL, hdev };
|