|
@@ -1033,7 +1033,8 @@ static void hci_cc_le_set_scan_enable(struct hci_dev *hdev,
|
|
|
if (!cp)
|
|
|
return;
|
|
|
|
|
|
- if (cp->enable == 0x01) {
|
|
|
+ switch (cp->enable) {
|
|
|
+ case LE_SCANNING_ENABLED:
|
|
|
set_bit(HCI_LE_SCAN, &hdev->dev_flags);
|
|
|
|
|
|
cancel_delayed_work_sync(&hdev->adv_work);
|
|
@@ -1041,12 +1042,19 @@ static void hci_cc_le_set_scan_enable(struct hci_dev *hdev,
|
|
|
hci_dev_lock(hdev);
|
|
|
hci_adv_entries_clear(hdev);
|
|
|
hci_dev_unlock(hdev);
|
|
|
- } else if (cp->enable == 0x00) {
|
|
|
+ break;
|
|
|
+
|
|
|
+ case LE_SCANNING_DISABLED:
|
|
|
clear_bit(HCI_LE_SCAN, &hdev->dev_flags);
|
|
|
|
|
|
cancel_delayed_work_sync(&hdev->adv_work);
|
|
|
queue_delayed_work(hdev->workqueue, &hdev->adv_work,
|
|
|
jiffies + ADV_CLEAR_TIMEOUT);
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ BT_ERR("Used reserved LE_Scan_Enable param %d", cp->enable);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|