HID: hiddev: fix nonblocking read semantics wrt EIO/ERESTARTSYS
authorJiri Kosina <jkosina@suse.cz>
Tue, 27 Nov 2012 23:10:44 +0000 (00:10 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 27 Nov 2012 23:10:44 +0000 (00:10 +0100)
commit13f19624029f43f5d0f98a96a9e6ba4d38da96a9
treeddd3db2a9e7f5d5e811c5343ae1b922a77d6eecb
parent4cc8541782140e9ccbece5c8ac367fbf659b16d9
HID: hiddev: fix nonblocking read semantics wrt EIO/ERESTARTSYS

When the file has been open in non-blocking mode, EIO or ERESTARTSYS
would never be returned even if they should (for example when device
has been unplugged, you want EIO and not EAGAIN to be returned).

Move the O_NONBLOCK check after other checks have been performed.

Base on similar patch done to hidraw by
Founder Fang <founder.fang@gmail.com>

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/usbhid/hiddev.c