diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2020-06-06 10:45:37 -0700 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2020-06-06 10:45:37 -0700 |
| commit | 8dd06ef34b6e2f41b29fbf5fc1663780f2524285 (patch) | |
| tree | d59152f37ea7b36c3cf1778e20b85239f89c4e77 /drivers/input/evdev.c | |
| parent | 642aa86eaf8f1e6fe894f20fd7f12f0db52ee03c (diff) | |
| parent | d0ac7079d5fcaaaf3eb99c197a08ac1b399754f4 (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 5.8 merge window.
Diffstat (limited to 'drivers/input/evdev.c')
| -rw-r--r-- | drivers/input/evdev.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 0d57e51b8ba1..e494295d1c7b 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -282,7 +282,8 @@ static void evdev_pass_values(struct evdev_client *client, spin_unlock(&client->buffer_lock); if (wakeup) - wake_up_interruptible(&evdev->wait); + wake_up_interruptible_poll(&evdev->wait, + EPOLLIN | EPOLLOUT | EPOLLRDNORM | EPOLLWRNORM); } /* @@ -429,7 +430,7 @@ static void evdev_hangup(struct evdev *evdev) kill_fasync(&client->fasync, SIGIO, POLL_HUP); spin_unlock(&evdev->client_lock); - wake_up_interruptible(&evdev->wait); + wake_up_interruptible_poll(&evdev->wait, EPOLLHUP | EPOLLERR); } static int evdev_release(struct inode *inode, struct file *file) @@ -945,7 +946,7 @@ static int evdev_revoke(struct evdev *evdev, struct evdev_client *client, client->revoked = true; evdev_ungrab(evdev, client); input_flush_device(&evdev->handle, file); - wake_up_interruptible(&evdev->wait); + wake_up_interruptible_poll(&evdev->wait, EPOLLHUP | EPOLLERR); return 0; } |
