As the comparison method used for find what to de-register was wrong, it was causing the btd_device reference that the attrib plugin was keeping never to be dropped. --- attrib/client.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/attrib/client.c b/attrib/client.c index 8e96af4..69e4fb8 100644 --- a/attrib/client.c +++ b/attrib/client.c @@ -167,7 +167,7 @@ static int gatt_dev_cmp(gconstpointer a, gconstpointer b) const struct gatt_service *gatt = a; const struct btd_device *dev = b; - return gatt->dev == dev; + return gatt->dev != dev; } static int characteristic_handle_cmp(gconstpointer a, gconstpointer b) -- 1.7.3.4 -- 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