diff options
Diffstat (limited to 'kernel/drivers/input')
-rw-r--r-- | kernel/drivers/input/evdev.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/kernel/drivers/input/evdev.c b/kernel/drivers/input/evdev.c index a18f41b89..2ae522f0d 100644 --- a/kernel/drivers/input/evdev.c +++ b/kernel/drivers/input/evdev.c @@ -290,19 +290,14 @@ static int evdev_flush(struct file *file, fl_owner_t id) { struct evdev_client *client = file->private_data; struct evdev *evdev = client->evdev; - int retval; - retval = mutex_lock_interruptible(&evdev->mutex); - if (retval) - return retval; + mutex_lock(&evdev->mutex); - if (!evdev->exist || client->revoked) - retval = -ENODEV; - else - retval = input_flush_device(&evdev->handle, file); + if (evdev->exist && !client->revoked) + input_flush_device(&evdev->handle, file); mutex_unlock(&evdev->mutex); - return retval; + return 0; } static void evdev_free(struct device *dev) |