aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/usbhid/hiddev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hid/usbhid/hiddev.c')
-rw-r--r--drivers/hid/usbhid/hiddev.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
index 711c9656ec0f..87bd64959a91 100644
--- a/drivers/hid/usbhid/hiddev.c
+++ b/drivers/hid/usbhid/hiddev.c
@@ -361,10 +361,6 @@ static ssize_t hiddev_read(struct file * file, char __user * buffer, size_t coun
361 prepare_to_wait(&list->hiddev->wait, &wait, TASK_INTERRUPTIBLE); 361 prepare_to_wait(&list->hiddev->wait, &wait, TASK_INTERRUPTIBLE);
362 362
363 while (list->head == list->tail) { 363 while (list->head == list->tail) {
364 if (file->f_flags & O_NONBLOCK) {
365 retval = -EAGAIN;
366 break;
367 }
368 if (signal_pending(current)) { 364 if (signal_pending(current)) {
369 retval = -ERESTARTSYS; 365 retval = -ERESTARTSYS;
370 break; 366 break;
@@ -373,6 +369,10 @@ static ssize_t hiddev_read(struct file * file, char __user * buffer, size_t coun
373 retval = -EIO; 369 retval = -EIO;
374 break; 370 break;
375 } 371 }
372 if (file->f_flags & O_NONBLOCK) {
373 retval = -EAGAIN;
374 break;
375 }
376 376
377 /* let O_NONBLOCK tasks run */ 377 /* let O_NONBLOCK tasks run */
378 mutex_unlock(&list->thread_lock); 378 mutex_unlock(&list->thread_lock);