hiddev: Return EPOLLOUT from hiddev_poll
authorFabian Henneke <fabian.henneke@gmail.com>
Thu, 18 Jul 2019 20:50:58 +0000 (22:50 +0200)
committerJiri Kosina <jkosina@suse.cz>
Mon, 5 Aug 2019 12:08:07 +0000 (14:08 +0200)
Always return EPOLLOUT from hiddev_poll when a device is connected.
This is safe since hiddev_write always fails and improves compatibility
with tools like socat.

Signed-off-by: Fabian Henneke <fabian@henneke.me>
In-reply-to: <nycvar.YFH.7.76.1907171333160.5899@cbobk.fhfr.pm>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/usbhid/hiddev.c

index 55b7257..73a76d9 100644 (file)
@@ -416,7 +416,7 @@ static __poll_t hiddev_poll(struct file *file, poll_table *wait)
 
        poll_wait(file, &list->hiddev->wait, wait);
        if (list->head != list->tail)
-               return EPOLLIN | EPOLLRDNORM;
+               return EPOLLIN | EPOLLRDNORM | EPOLLOUT;
        if (!list->hiddev->exist)
                return EPOLLERR | EPOLLHUP;
        return 0;