Diff between cc4838e601df2daee66dfd94c264cface3e67651 and 6f338a8f6ab1b79aa9e7066054bec7b4668cfa23

Changed Files

File Additions Deletions Status
src/device.c +9 -12 modified

Full Patch

diff --git a/src/device.c b/src/device.c
index fc8c31a..de2f010 100644
--- a/src/device.c
+++ b/src/device.c
@@ -3092,23 +3092,20 @@ guint btd_device_add_attio_callback(struct btd_device *device,
 	attio->dcfunc = dcfunc;
 	attio->user_data = user_data;
 
-	if (device->attrib) {
-		if (cfunc) {
-			device->attios_offline =
-				g_slist_append(device->attios_offline, attio);
+	if (device->attrib && cfunc) {
+		device->attios_offline = g_slist_append(device->attios_offline,
+									attio);
+		g_idle_add(notify_attios, device);
+		return attio->id;
+	}
 
-			g_idle_add(notify_attios, device);
-		} else {
-			device->attios = g_slist_append(device->attios, attio);
-		}
-	} else if (device->auto_id == 0) {
+	device->attios = g_slist_append(device->attios, attio);
+
+	if (device->auto_id == 0)
 		device->auto_id = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE,
 						att_connect, device,
 						att_connect_dispatched);
 
-		device->attios = g_slist_append(device->attios, attio);
-	}
-
 	return attio->id;
 }