diff --git a/android/hid.c b/android/hid.c
index d6ca4b9..49e9c52 100644
--- a/android/hid.c
+++ b/android/hid.c
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;
}
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)