summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/mgmt.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2014-07-04 11:37:21 +0200
committerMarcel Holtmann <marcel@holtmann.org>2014-07-04 11:58:09 +0200
commit95305baa779223060c7129100424da6c0d01045b (patch)
treeb9ce90eb4ed888ee95f88a234c6f4432994f16cb /net/bluetooth/mgmt.c
parentBluetooth: Don't bother doing anything if auto_connect doesn't change (diff)
downloadlinux-95305baa779223060c7129100424da6c0d01045b.tar.xz
linux-95305baa779223060c7129100424da6c0d01045b.zip
Bluetooth: Simplify hci_conn_params->action list usage
Since params->action is used for both the pend_le_conns and pend_le_reports lists we can simplify the adding and deleting of the lists considerably. For example, when deleting entries in most situations we no-longer need to check the auto_connect value but can directly proceed with calling list_del_init on param->action (which is safe even if the entry is not part of any list). Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/mgmt.c')
-rw-r--r--net/bluetooth/mgmt.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index a823cccf81f1..77c64b8cb7e2 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -5225,12 +5225,10 @@ static int remove_device(struct sock *sk, struct hci_dev *hdev,
goto unlock;
}
- if (params->auto_connect == HCI_AUTO_CONN_REPORT)
- list_del_init(&params->action);
-
- hci_pend_le_conn_del(hdev, params);
+ list_del_init(&params->action);
list_del(&params->list);
kfree(params);
+ hci_update_background_scan(hdev);
device_removed(sk, hdev, &cp->addr.bdaddr, cp->addr.type);
} else {