Comment 5 for bug 1049623

Revision history for this message
Kevin Daughtridge (kdau) wrote : Re: Usb mouse not working after resume

Found it! The code that complains about changes to the contents (instead of size) of HID report descriptors was added to hid_post_reset in drivers/hid/usbhid/hid-core.c on 2012-04-03. See: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=dc3c78e43469063c5bf4b744214508f94c4129f9

The issue is definitely a discrepancy between the descriptor as fixed up by the hid_logitech driver and the descriptor as read after resume by the usbhid driver. The latter reads the descriptor directly off the bus, so it doesn't include any report_fixup changes. report_fixup is a standard method used by many other HID drivers, though, and I'd say the patch above potentially created this regression for all drivers that have report_fixup. The check in hid_post_reset needs to call report_fixup on its local rdesc copy before comparing it to the one in the existing hid_device.