Diff between 454d4502d24e0a840cc8f35685550fb7cff62938 and 261cf78db4be79a0f7d44798a57730b159c9be91

Changed Files

File Additions Deletions Status
src/shared/att.c +11 -0 modified

Full Patch

diff --git a/src/shared/att.c b/src/shared/att.c
index 4670de7..8d58156 100644
--- a/src/shared/att.c
+++ b/src/shared/att.c
@@ -1203,6 +1203,17 @@ bool bt_att_unregister_disconnect(struct bt_att *att, unsigned int id)
 	if (!att || !id)
 		return false;
 
+	/* Check if disconnect is running */
+	if (!att->io) {
+		disconn = queue_find(att->disconn_list, match_disconn_id,
+							UINT_TO_PTR(id));
+		if (!disconn)
+			return false;
+
+		disconn->removed = true;
+		return true;
+	}
+
 	disconn = queue_remove_if(att->disconn_list, match_disconn_id,
 							UINT_TO_PTR(id));
 	if (!disconn)