Commit a2f41a8f authored by Johan Hedberg's avatar Johan Hedberg Committed by Marcel Holtmann

Bluetooth: Simplify use of hci_pend_le_conns_clear()

Now that pend_le_connections is a list of hci_conn_params entries we can
simply remove items from that list as we iterate through the global list
of le_conn_params. This also moves the responsibility of calling
hci_update_background_scan() to the functions that were previously
calling hci_pend_le_conns_clear(). The only user that's left for
hci_pend_le_conns_clear() is hci_dev_do_close() which anyway does not
need to call hci_update_background_scan().
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 66f8455a
...@@ -3477,8 +3477,6 @@ void hci_pend_le_conns_clear(struct hci_dev *hdev) ...@@ -3477,8 +3477,6 @@ void hci_pend_le_conns_clear(struct hci_dev *hdev)
list_del_init(hdev->pend_le_conns.next); list_del_init(hdev->pend_le_conns.next);
BT_DBG("All LE pending connections cleared"); BT_DBG("All LE pending connections cleared");
hci_update_background_scan(hdev);
} }
/* This function requires the caller holds hdev->lock */ /* This function requires the caller holds hdev->lock */
...@@ -3601,13 +3599,12 @@ void hci_conn_params_clear_enabled(struct hci_dev *hdev) ...@@ -3601,13 +3599,12 @@ void hci_conn_params_clear_enabled(struct hci_dev *hdev)
list_for_each_entry_safe(params, tmp, &hdev->le_conn_params, list) { list_for_each_entry_safe(params, tmp, &hdev->le_conn_params, list) {
if (params->auto_connect == HCI_AUTO_CONN_DISABLED) if (params->auto_connect == HCI_AUTO_CONN_DISABLED)
continue; continue;
if (params->auto_connect == HCI_AUTO_CONN_REPORT) list_del(&params->action);
list_del_init(&params->action);
list_del(&params->list); list_del(&params->list);
kfree(params); kfree(params);
} }
hci_pend_le_conns_clear(hdev); hci_update_background_scan(hdev);
BT_DBG("All enabled LE connection parameters were removed"); BT_DBG("All enabled LE connection parameters were removed");
} }
...@@ -3618,11 +3615,12 @@ void hci_conn_params_clear_all(struct hci_dev *hdev) ...@@ -3618,11 +3615,12 @@ void hci_conn_params_clear_all(struct hci_dev *hdev)
struct hci_conn_params *params, *tmp; struct hci_conn_params *params, *tmp;
list_for_each_entry_safe(params, tmp, &hdev->le_conn_params, list) { list_for_each_entry_safe(params, tmp, &hdev->le_conn_params, list) {
list_del(&params->action);
list_del(&params->list); list_del(&params->list);
kfree(params); kfree(params);
} }
hci_pend_le_conns_clear(hdev); hci_update_background_scan(hdev);
BT_DBG("All LE connection parameters were removed"); BT_DBG("All LE connection parameters were removed");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment