Currently disconnect_cb calls ready_handler to notify the upper layer if a disconnect occurred during initialization. This patch fixes it so that the handler is only called if in_init is set. --- src/shared/gatt-client.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c index cf93d4b..698b7b8 100644 --- a/src/shared/gatt-client.c +++ b/src/shared/gatt-client.c @@ -1455,6 +1455,7 @@ static void bt_gatt_client_free(struct bt_gatt_client *client) static void att_disconnect_cb(void *user_data) { struct bt_gatt_client *client = user_data; + bool in_init = client->in_init; client->disc_id = 0; @@ -1464,7 +1465,7 @@ static void att_disconnect_cb(void *user_data) client->in_init = false; client->ready = false; - if (client->ready_callback) + if (in_init && client->ready_callback) client->ready_callback(false, 0, client->ready_data); } -- 2.1.0.rc2.206.gedb03e5 -- 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