diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index ee3f984..724fc53 100644
--- a/src/shared/gatt-client.c
+++ b/src/shared/gatt-client.c
static void notify_client_ready(struct bt_gatt_client *client, bool success,
uint8_t att_ecode)
{
- if (!client->ready_callback)
+ if (!client->ready_callback || client->ready)
return;
bt_gatt_client_ref(client);
+ client->ready = success;
client->ready_callback(success, att_ecode, client->ready_data);
bt_gatt_client_unref(client);
}
client->svc_chngd_ind_id);
done:
- if (!client->ready) {
- client->ready = success;
- notify_client_ready(client, success, att_ecode);
- }
+ notify_client_ready(client, success, att_ecode);
}
static bool register_service_changed(struct bt_gatt_client *client)
if (!success)
goto fail;
- if (register_service_changed(client)) {
- client->ready = true;
+ if (register_service_changed(client))
goto done;
- }
util_debug(client->debug_callback, client->debug_data,
"Failed to register handler for \"Service Changed\"");