original_kernel/drivers/hid/usbhid
Oliver Neukum 079034073f HID: hiddev cleanup -- handle all error conditions properly
This is a cleanup of hiddev and fixes the following issues:

- thread safety by locking in read & ioctl, introducing a per device mutex
- race between ioctl and disconnect, introducing a flag and locking
  in form of a per low level device mutex
- race between open and other methods, making sure only successfully
  opened devices are put on the list, changing order of events
- range checking both upper and lower limits of the minor range
- make sure further calls to open fail for unplugged devices even if
  the device still has opened files
- error checking for low level open
- possible loss of wakeup events, using standard waiting macros
- race in initialisation by moving registration after full initialisation

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-01-04 01:00:53 +01:00
..
Kconfig HID: remove hid-ff 2008-10-14 23:51:01 +02:00
Makefile HID: remove hid-ff 2008-10-14 23:51:01 +02:00
hid-core.c HID: use GFP_KERNEL in hid_alloc_buffers 2009-01-04 01:00:52 +01:00
hid-pidff.c HID: fix a lockup regression when using force feedback on a PID device 2008-10-14 23:51:02 +02:00
hid-quirks.c HID: move pantherlord FF processing 2008-10-14 23:51:00 +02:00
hiddev.c HID: hiddev cleanup -- handle all error conditions properly 2009-01-04 01:00:53 +01:00
usbhid.h HID: move usbhid flags to usbhid.h 2009-01-04 01:00:51 +01:00
usbkbd.c HID: remove warn() macro from usb hid drivers 2008-10-14 23:51:03 +02:00
usbmouse.c HID: remove info() macro from usb HID drivers 2008-10-14 23:51:03 +02:00