From 2a2997feb82256770604e187b5f66bb10a22d8ee Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 4 Sep 2015 11:39:02 +0300 Subject: [PATCH] core/gatt: Fix not exporting new services Ever since cache validation was introduced the services are no longer cleared on disconnect so checking for queue empty is not valid anymore. --- src/gatt-client.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/gatt-client.c b/src/gatt-client.c index 3356ee443..d8a34299f 100644 --- a/src/gatt-client.c +++ b/src/gatt-client.c @@ -1538,6 +1538,9 @@ static struct service *service_create(struct gatt_db_attribute *attr, /* Set service active so we can skip discovering next time */ gatt_db_service_set_active(attr, true); + /* Mark the service as claimed since it going to be exported */ + gatt_db_service_set_claimed(attr, true); + return service; } @@ -1840,11 +1843,7 @@ void btd_gatt_client_ready(struct btd_gatt_client *client) DBG("GATT client ready"); - if (queue_isempty(client->services)) { - DBG("Exporting services"); - create_services(client); - return; - } + create_services(client); /* * Services have already been created before. Re-enable notifications -- 2.47.3