From f8f65a0926b7167a9164a19bab4620e2e7e20936 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Wed, 28 May 2014 14:23:33 +0300 Subject: [PATCH] input: Do not send UHID_DESTROY Accourding to uHID documentation when diconnecting the kernel will take care of cleaning up any device created: "If you close() the fd, the device is automatically unregistered and destroyed internally." --- profiles/input/device.c | 17 +---------------- profiles/input/hog.c | 10 ---------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/profiles/input/device.c b/profiles/input/device.c index 785b1e9b8..a61b2c7e4 100644 --- a/profiles/input/device.c +++ b/profiles/input/device.c @@ -108,22 +108,7 @@ static int connection_disconnect(struct input_device *idev, uint32_t flags); static void input_device_free(struct input_device *idev) { - if (idev->uhid) { - if (idev->uhid_created) { - int err; - struct uhid_event ev; - - memset(&ev, 0, sizeof(ev)); - ev.type = UHID_DESTROY; - err = bt_uhid_send(idev->uhid, &ev); - if (err < 0) - error("bt_uhid_send: %s (%d)", strerror(-err), - -err); - } - - bt_uhid_unref(idev->uhid); - } - + bt_uhid_unref(idev->uhid); btd_service_unref(idev->service); btd_device_unref(idev->device); g_free(idev->path); diff --git a/profiles/input/hog.c b/profiles/input/hog.c index 47a4fb1f9..37533434c 100644 --- a/profiles/input/hog.c +++ b/profiles/input/hog.c @@ -750,17 +750,7 @@ static struct hog_device *hog_register_device(struct btd_device *device, static int hog_unregister_device(struct hog_device *hogdev) { - struct uhid_event ev; - int err; - btd_device_remove_attio_callback(hogdev->device, hogdev->attioid); - - memset(&ev, 0, sizeof(ev)); - ev.type = UHID_DESTROY; - err = bt_uhid_send(hogdev->uhid, &ev); - if (err < 0) - error("bt_uhid_send: %s (%d)", strerror(-err), -err); - bt_uhid_unref(hogdev->uhid); hog_free_device(hogdev); -- 2.47.3