Hi Luiz, On Mon, Aug 22, 2011 at 3:04 PM, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > Hi Dmitriy, > > On Mon, Aug 22, 2011 at 12:55 PM, Dmitriy Paliy <dmitriy.paliy@xxxxxxxxx> wrote: >> This fixes regression caused by 33cdfcb0fabcfb5260953a13ae277b5abe9a322d. >> Temporary link key should be removed after device is disconnected if >> bonding information is not stored in file system. >> >> Currently, the key is deleted only when paired device is removed, or >> adapter is powered off. In case of No Bonding authentication, device is >> not paired after disconnection, which results in link key left in memory. >> >> On the other hand, device is not necessarily removed after disconnection >> that also leaves unneeded temporary link key in memory. >> --- >> src/device.c | 4 +++- >> 1 files changed, 3 insertions(+), 1 deletions(-) >> >> diff --git a/src/device.c b/src/device.c >> index 9dd657c..f323bf8 100644 >> --- a/src/device.c >> +++ b/src/device.c >> @@ -855,8 +855,10 @@ void device_remove_connection(struct btd_device *device, DBusConnection *conn) >> device->disconnects = g_slist_remove(device->disconnects, msg); >> } >> >> - if (device_is_paired(device) && !device_is_bonded(device)) >> + if (device_is_paired(device) && !device_is_bonded(device)) { >> + btd_adapter_remove_bonding(device->adapter, &device->bdaddr); >> device_set_paired(device, FALSE); >> + } > > How about move btd_adapter_remove_bonding to device_set_paired e.g. if > (!value) btd_adapter_remove_bonding? Since btd_adapter_remove_bonding is used only together with device_set_paired(device, FALSE), it makes sense code-wise. However, downside is that one may start thinking that device_set_paired(device, TRUE) creates bonding, which is not so. Therefore, it looks a bit questionable. I will submit new proposal. Dmitriy -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html