Input: evdev - do not block waiting for an event if fd is nonblock
authorDima Zavin <dima@android.com>
Fri, 30 Dec 2011 23:16:44 +0000 (15:16 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 30 Dec 2011 23:26:35 +0000 (15:26 -0800)
commit509f87c5f564627b6b9fc763e74ef3608213d610
treec5034b38b7c49d75726ed24411a4bd9c57bc1f73
parente90f869cae3b4aedf0f6d2ca8048d60245ee77f7
Input: evdev - do not block waiting for an event if fd is nonblock

If there is a full packet in the buffer, and we overflow that buffer
right after checking for that condition, it would have been possible
for us to block indefinitely (rather, until the next full packet) even if
the file was marked as O_NONBLOCK.

Cc: Jeff Brown <jeffbrown@android.com>
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/evdev.c