Diff between 8da3f380860e104e371a9e20bdb2b1fe7746abf6 and 939d25f0b0d29cf422ab5f06bba9070b431e8c56

Changed Files

File Additions Deletions Status
android/avrcp.c +8 -3 modified

Full Patch

diff --git a/android/avrcp.c b/android/avrcp.c
index f61ed34..7ee5a8a 100644
--- a/android/avrcp.c
+++ b/android/avrcp.c
@@ -140,10 +140,15 @@ static void avrcp_device_free(void *data)
 		g_io_channel_unref(dev->io);
 	}
 
-	devices = g_slist_remove(devices, dev);
 	g_free(dev);
 }
 
+static void avrcp_device_remove(struct avrcp_device *dev)
+{
+	devices = g_slist_remove(devices, dev);
+	avrcp_device_free(dev);
+}
+
 static struct avrcp_device *avrcp_device_new(const bdaddr_t *dst)
 {
 	struct avrcp_device *dev;
@@ -171,7 +176,7 @@ static void disconnect_cb(void *data)
 
 	dev->session = NULL;
 
-	avrcp_device_free(dev);
+	avrcp_device_remove(dev);
 }
 
 static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
@@ -362,5 +367,5 @@ void bt_avrcp_disconnect(const bdaddr_t *dst)
 		return;
 	}
 
-	avrcp_device_free(dev);
+	avrcp_device_remove(dev);
 }