linux/drivers/hid/usbhid
Kevin Daughtridge 86e6b77eb7 HID: keep dev_rdesc unmodified and use it for comparisons
The dev_rdesc member of the hid_device structure is meant to store the original
report descriptor received from the device, but it is currently passed to any
report_fixup method before it is copied to the rdesc member. This patch uses a
temporary buffer to shield dev_rdesc from the side effects of many HID drivers'
report_fixup implementations.

usbhid's hid_post_reset checks the report descriptor currently returned by the
device against a descriptor that may have been modified by a driver's
report_fixup method. That leaves some devices nonfunctional after a resume, with
a "reset_resume error 1" reported. This patch checks the new descriptor against
the unmodified dev_rdesc instead and uses the original, instead of modified,
report size.

BugLink: http://bugs.launchpad.net/bugs/1049623
Signed-off-by: Kevin Daughtridge <kevin@kdau.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-10-01 10:09:26 +02:00
..
hid-core.c HID: keep dev_rdesc unmodified and use it for comparisons 2012-10-01 10:09:26 +02:00
hid-pidff.c HID: Add and use hid_<level>: dev_<level> equivalents 2010-12-10 15:10:38 +01:00
hid-quirks.c HID: Remove duplicate ID for QUANTA 3001 touchscreen 2012-08-27 07:55:21 -07:00
hiddev.c HID: hiddev: Use vzalloc to allocate hiddev_list 2012-04-27 16:03:40 +02:00
Kconfig HID: Fix the generic Kconfig options 2012-06-25 17:25:00 +02:00
Makefile HID: usbhid: Clean up makefile (-y instead of -objs) 2010-11-18 10:43:18 +01:00
usbhid.h HID: usbhid: replace HID_REPORTED_IDLE with HID_SUSPENDED 2012-07-20 11:24:24 +02:00
usbkbd.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2012-01-10 10:48:28 -08:00
usbmouse.c USB: usbmouse.c: remove err() usage 2012-04-25 14:48:20 -07:00