Diff between dbefd63d01c8c55ba73e63ff67461b59ccbed337 and d9ea2226c083daa30e15e2f5fca213966d19ec27

Changed Files

File Additions Deletions Status
android/hid.c +3 -9 modified

Full Patch

diff --git a/android/hid.c b/android/hid.c
index d6ca4b9..49e9c52 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -149,16 +149,11 @@ static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond,
 	if ((cond & (G_IO_HUP | G_IO_ERR)) && hdev->intr_watch)
 		g_io_channel_shutdown(chan, TRUE, NULL);
 
-	hdev->ctrl_watch = 0;
-
-	if (hdev->ctrl_io) {
-		g_io_channel_unref(hdev->ctrl_io);
-		hdev->ctrl_io = NULL;
-	}
-
 	if (hdev->intr_io && !(cond & G_IO_NVAL))
 		g_io_channel_shutdown(hdev->intr_io, TRUE, NULL);
 
+	hid_device_free(hdev);
+
 	return FALSE;
 }
 
@@ -230,8 +225,7 @@ static void control_connect_cb(GIOChannel *chan, GError *conn_err,
 	return;
 
 failed:
-	g_io_channel_unref(hdev->ctrl_io);
-	hdev->ctrl_io = NULL;
+	hid_device_free(hdev);
 }
 
 static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)