HID: Consolidate device existence checks in hiddev_ioctl
authorValentine Barshak <vbarshak@mvista.com>
Mon, 6 Dec 2010 15:16:11 +0000 (18:16 +0300)
committerJiri Kosina <jkosina@suse.cz>
Tue, 7 Dec 2010 14:45:50 +0000 (15:45 +0100)
commit33d6eb570b1f3fe5ba93cef465c5be66535c2c9a
treef863fc60990f851bb7d9af3d9b4791c80634becb
parent1a8e8fab790ea7af81b8f964fdec706ad1ec2271
HID: Consolidate device existence checks in hiddev_ioctl

Currently, if the device has been removed before hiddev_ioctl(),
the -EIO is returned. If it's removed while hiddev_ioctl() is in
progress, some commands are still processed fine, others
return -ENODEV. This change takes the "existancelock" before
processing ioctl commands and releases it at the end.
If the device has been removed, always returns -ENODEV.

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