diff options
| -rw-r--r-- | drivers/input/evdev.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 0727b0a12557..99562cee827e 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c | |||
| @@ -853,6 +853,9 @@ static void evdev_cleanup(struct evdev *evdev) | |||
| 853 | evdev_hangup(evdev); | 853 | evdev_hangup(evdev); |
| 854 | evdev_remove_chrdev(evdev); | 854 | evdev_remove_chrdev(evdev); |
| 855 | 855 | ||
| 856 | if (evdev->grab) | ||
| 857 | evdev_ungrab(evdev, evdev->grab); | ||
| 858 | |||
| 856 | /* evdev is marked dead so no one else accesses evdev->open */ | 859 | /* evdev is marked dead so no one else accesses evdev->open */ |
| 857 | if (evdev->open) { | 860 | if (evdev->open) { |
| 858 | input_flush_device(handle, NULL); | 861 | input_flush_device(handle, NULL); |
