• Johan Hedberg's avatar
    Bluetooth: Fix removing connection parameters when unpairing · a6ad2a6b
    Johan Hedberg authored
    The commit 89cbb063 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: default avatarJohan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    Cc: stable@vger.kernel.org # 3.19+
    a6ad2a6b
mgmt.c 211 KB