From: "Micon, David" Make a read of a HID device block until data is available. Without it, the read goes into a busy-wait loop until data is available. Cc: Greg KH Cc: Vojtech Pavlik Cc: Dmitry Torokhov Signed-off-by: Andrew Morton --- drivers/usb/input/hiddev.c | 1 + 1 files changed, 1 insertion(+) diff -puN drivers/usb/input/hiddev.c~hid-read-busywait-fix drivers/usb/input/hiddev.c --- devel/drivers/usb/input/hiddev.c~hid-read-busywait-fix 2006-05-15 21:47:11.000000000 -0700 +++ devel-akpm/drivers/usb/input/hiddev.c 2006-05-15 21:47:11.000000000 -0700 @@ -317,6 +317,7 @@ static ssize_t hiddev_read(struct file * } schedule(); + set_current_state(TASK_INTERRUPTIBLE); } set_current_state(TASK_RUNNING); _