Diff between e577e478e9cb1d1a22e63fd7d8fff07c471590de and 10760c91c234fe2bfedf924c9e61f31861c2dc72

Changed Files

File Additions Deletions Status
src/gatt-database.c +3 -1 modified

Full Patch

diff --git a/src/gatt-database.c b/src/gatt-database.c
index 1d262cc..3e10c90 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -360,7 +360,9 @@ static struct device_state *get_device_state(struct btd_gatt_database *database,
 	queue_push_tail(database->device_states, dev_state);
 
 done:
-	dev_state->disc_id = bt_att_register_disconnect(att, att_disconnected,
+	if (!dev_state->disc_id)
+		dev_state->disc_id = bt_att_register_disconnect(att,
+							att_disconnected,
 							dev_state, NULL);
 
 	return dev_state;