diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-04-21 05:33:08 (GMT) |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-04-21 06:11:01 (GMT) |
commit | 486c8aba39e5f194519cd5c0e85e5d1de8b74b03 (patch) | |
tree | f82d9745cd40b94dfa4b3107e7c33c5224d69c77 /drivers/usb/storage/scsiglue.c | |
parent | 71f3d070a309504cdfef87b9e98836395b75ae0e (diff) | |
download | linux-486c8aba39e5f194519cd5c0e85e5d1de8b74b03.tar.xz |
Input: serio_raw - ensure we don't block in non-blocking read
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>
Diffstat (limited to 'drivers/usb/storage/scsiglue.c')
0 files changed, 0 insertions, 0 deletions