Bluetooth: Clear pending connections from hci_conn_params_clear
authorMarcel Holtmann <marcel@holtmann.org>
Sun, 29 Jun 2014 11:41:50 +0000 (13:41 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 3 Jul 2014 15:42:49 +0000 (17:42 +0200)
When hci_conn_params_clear is called, it is always followed by a
call to hci_pend_le_conns_clear. So instead of making this explicit
just make sure it is always called. This makes this function similar
on how hci_conn_params_add and hci_conn_params_del work.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
net/bluetooth/hci_core.c

index ffee5f547506780f4850d3f955f43a2cc6780a17..8b206d0942aa2f943d80fe55ad7183020313dfe6 100644 (file)
@@ -959,7 +959,6 @@ static ssize_t le_auto_conn_write(struct file *file, const char __user *data,
        } else if (memcmp(buf, "clr", 3) == 0) {
                hci_dev_lock(hdev);
                hci_conn_params_clear(hdev);
-               hci_pend_le_conns_clear(hdev);
                hci_update_background_scan(hdev);
                hci_dev_unlock(hdev);
        } else {
@@ -3561,6 +3560,8 @@ void hci_conn_params_clear(struct hci_dev *hdev)
                kfree(params);
        }
 
+       hci_pend_le_conns_clear(hdev);
+
        BT_DBG("All LE connection parameters were removed");
 }
 
@@ -4006,7 +4007,6 @@ void hci_unregister_dev(struct hci_dev *hdev)
        hci_remote_oob_data_clear(hdev);
        hci_white_list_clear(hdev);
        hci_conn_params_clear(hdev);
-       hci_pend_le_conns_clear(hdev);
        hci_dev_unlock(hdev);
 
        hci_dev_put(hdev);