Input: serio_raw - ensure we don't block in non-blocking read
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 21 Apr 2012 05:33:08 +0000 (22:33 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 21 Apr 2012 06:11:01 +0000 (23:11 -0700)
Avoid calling wait_event_interruptible() if client requested non-blocking
read, since it is not guaranteed that another thread will not consume
event after we checked if serio_raw->head != serio_raw->tail.

Also ensure we do not return 0 but keep waiting instead in blocking case,
when another thread steals "our" byte.

Reviewed-by: David Herrmann <dh.herrmann@googlemail.com>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

No differences found