linux/drivers/hid
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
..
usbhid HID: keep dev_rdesc unmodified and use it for comparisons 2012-10-01 10:09:26 +02:00
hid-a4tech.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-apple.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-aureal.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-axff.c
hid-belkin.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-cherry.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-chicony.c HID: add ASUS AIO keyboard model AK1D 2012-07-23 12:10:21 +02:00
hid-core.c HID: keep dev_rdesc unmodified and use it for comparisons 2012-10-01 10:09:26 +02:00
hid-cypress.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-debug.c HID: hid-debug: Show rdesc for unclaimed devices 2012-08-27 08:01:21 -07:00
hid-dr.c
hid-elecom.c
hid-emsff.c
hid-ezkey.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-gaff.c
hid-generic.c
hid-gyration.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-holtek-kbd.c HID: Add driver for Holtek based keyboards with broken HID 2012-07-12 12:34:43 +02:00
hid-holtekff.c HID: holtekff: use %*ph to dump small buffers 2012-09-10 23:00:32 +02:00
hid-hyperv.c
hid-ids.h HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-input.c Merge branches 'hidraw', 'magicmouse', 'multitouch', 'roccat', 'suspend-fixes' and 'upstream' into for-linus 2012-07-24 13:39:00 +02:00
hid-kensington.c
hid-keytouch.c
hid-kye.c
hid-lcpower.c HID: hid-lcpower: Use HID_UP_LOGIVENDOR instead of hard coded 0x0ffbc0000 2012-09-05 11:55:35 +02:00
hid-lenovo-tpkbd.c HID: lenovo-tpkbd: Remove unnecessary casts of void pointers 2012-09-17 13:09:02 +02:00
hid-lg2ff.c
hid-lg3ff.c
hid-lg4ff.c HID: lg4ff: Remove unnecessary casts of void pointers 2012-09-17 13:07:34 +02:00
hid-lg.c HID: lg: Remove unnecessary casts of void pointers 2012-09-17 13:05:34 +02:00
hid-lg.h
hid-lgff.c
hid-logitech-dj.c
hid-logitech-dj.h
hid-magicmouse.c HID: magicmouse: Implement Multi-touch Protocol B (MT-B) 2012-07-04 20:58:48 +02:00
hid-microsoft.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-monterey.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-multitouch.c HID: hid-multitouch: add support for Zytronic panels 2012-07-19 13:56:16 +02:00
hid-ntrig.c HID: ntrig: change default value of logical/physical width/height to 1 2012-09-25 15:20:07 +02:00
hid-ortek.c
hid-petalynx.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-picolcd.c Merge branches 'hidraw', 'magicmouse', 'multitouch', 'roccat', 'suspend-fixes' and 'upstream' into for-linus 2012-07-24 13:39:00 +02:00
hid-pl.c
hid-primax.c HID: primax: Remove px_probe() and px_remove() functions 2012-09-07 14:55:38 +02:00
hid-prodikeys.c HID: prodikeys: Remove unnecessary casts of void pointers 2012-09-17 13:08:30 +02:00
hid-roccat-arvo.c HID: roccat: rename roccat_common functions to roccat_common2 2012-06-28 10:34:01 +02:00
hid-roccat-arvo.h
hid-roccat-common.c HID: roccat: rename roccat_common functions to roccat_common2 2012-06-28 10:34:01 +02:00
hid-roccat-common.h HID: roccat: rename roccat_common functions to roccat_common2 2012-06-28 10:34:01 +02:00
hid-roccat-isku.c HID: roccat: rename roccat_common functions to roccat_common2 2012-06-28 10:34:01 +02:00
hid-roccat-isku.h HID: roccat: move functionality to roccat-common 2012-06-28 10:34:01 +02:00
hid-roccat-kone.c HID: roccat: fix wrong hid_err usage on struct usb_device 2012-06-28 10:34:01 +02:00
hid-roccat-kone.h
hid-roccat-koneplus.c HID: roccat: rename roccat_common functions to roccat_common2 2012-06-28 10:34:01 +02:00
hid-roccat-koneplus.h HID: roccat: move functionality to roccat-common 2012-06-28 10:34:01 +02:00
hid-roccat-kovaplus.c HID: roccat: rename roccat_common functions to roccat_common2 2012-06-28 10:34:01 +02:00
hid-roccat-kovaplus.h HID: roccat: move functionality to roccat-common 2012-06-28 10:34:01 +02:00
hid-roccat-pyra.c HID: roccat: rename roccat_common functions to roccat_common2 2012-06-28 10:34:01 +02:00
hid-roccat-pyra.h HID: roccat: move functionality to roccat-common 2012-06-28 10:34:01 +02:00
hid-roccat-savu.c HID: roccat: added sensor sysfs attribute for Savu 2012-07-20 09:50:42 +02:00
hid-roccat-savu.h HID: roccat: added sensor sysfs attribute for Savu 2012-07-20 09:50:42 +02:00
hid-roccat.c
hid-saitek.c
hid-samsung.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-sjoy.c
hid-sony.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-speedlink.c
hid-sunplus.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-tivo.c
hid-tmff.c
hid-topseed.c
hid-twinhan.c
hid-uclogic.c
hid-wacom.c HID: remove Paul Walmsley's copyright from places where it shouldn't be 2012-09-05 10:46:36 +02:00
hid-waltop.c HID: waltop: Remove waltop_probe() and waltop_remove() functions 2012-09-07 14:53:59 +02:00
hid-wiimote-core.c
hid-wiimote-debug.c
hid-wiimote-ext.c
hid-wiimote.h
hid-zpff.c
hid-zydacron.c
hidraw.c HID: hidraw: improve error handling in hidraw_init() 2012-08-15 21:37:09 +02:00
Kconfig HID: Remove "default m" from HID_LOGITECH_DJ 2012-09-03 14:48:39 +02:00
Makefile Merge branch 'uhid' into for-linus 2012-07-24 13:40:06 +02:00
uhid.c HID: uhid: Fix sending events with invalid data 2012-07-20 09:53:45 +02:00