]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: Fix removing connection parameters when unpairing
authorJohan Hedberg <johan.hedberg@intel.com>
Mon, 19 Oct 2015 07:51:47 +0000 (10:51 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 20 Oct 2015 22:49:24 +0000 (00:49 +0200)
commit83e3993f4fc41860d43a2801cf68b0aee99fa09b
treedf2ca523b2634275a473db7f2ca6a3d4066f2899
parent7e9c17337befad540b06531439dac13ca78a49e6
Bluetooth: Fix removing connection parameters when unpairing

The commit 0cf9baa9f7835 introduced support for deferred connection
parameter removal when unpairing by removing them only once an
existing connection gets disconnected. However, it failed to address
the scenario when we're *not* connected and do an unpair operation.

What makes things worse is that most user space BlueZ versions will
first issue a disconnect request and only then unpair, meaning the
buggy code will be triggered every time. This effectively causes the
kernel to resume scanning and reconnect to a device for which we've
removed all keys and GATT database information.

This patch fixes the issue by adding the missing call to the
hci_conn_params_del() function to a branch which handles the case of
no existing connection.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org # 3.19+
net/bluetooth/mgmt.c