Diff between 872729a9163263112a1e893aa9c87a8f3d504719 and 582689989ac26797d3bb82e38f43e944d9d4d291

Changed Files

File Additions Deletions Status
src/shared/gatt-client.c +5 -0 modified

Full Patch

diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index 3aaa089..06ac763 100644
--- a/src/shared/gatt-client.c
+++ b/src/shared/gatt-client.c
@@ -1406,6 +1406,10 @@ static void process_service_changed(struct bt_gatt_client *client,
 {
 	struct discovery_op *op;
 
+	/* On full database reset just re-run attribute discovery */
+	if (start_handle == 0x0001 && end_handle == 0xffff)
+		goto discover;
+
 	/* Invalidate and remove all effected notify callbacks */
 	gatt_client_remove_all_notify_in_range(client, start_handle,
 								end_handle);
@@ -1417,6 +1421,7 @@ static void process_service_changed(struct bt_gatt_client *client,
 	 */
 	gatt_db_clear_range(client->db, start_handle, end_handle);
 
+discover:
 	op = discovery_op_create(client, start_handle, end_handle,
 						service_changed_complete,
 						service_changed_failure);