HID: fix start/stop cycle in usbhid driver
authorJiri Slaby <jirislaby@gmail.com>
Sat, 1 Nov 2008 22:41:46 +0000 (23:41 +0100)
committerJiri Kosina <jkosina@suse.cz>
Thu, 13 Nov 2008 09:31:36 +0000 (10:31 +0100)
commite3e14de50dff86331b8f0d701e910146c0049bf5
treeb6878bf88a22d12e0cad3fec63e5ccfa7217f921
parent43ff3a48c13f3ddc085271c2eea2985d28c8aa08
HID: fix start/stop cycle in usbhid driver

`stop' left out usbhid->urb* pointers and so the next `start' thought
it needs to allocate nothing and used the memory pointers previously
pointed to. This led to memory corruption and device malfunction.

Also don't forget to clear disconnect flag on start which was left set
by the previous `stop'.

This fixes

echo DEVICE > /sys/bus/hid/drivers/DRIVER/unbind
echo DEVICE > /sys/bus/hid/drivers/DRIVER/bind

failures.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/usbhid/hid-core.c