linux/drivers/hid
Pekka Sarnila f345c37c37 HID: fixup fullspeed interval on highspeed Afatech DVB-T IR kbd
Many vendors highspeed devices give erroneously fullspeed interval value in
endpoint descriptor for interrupt endpoints. This quirk fixes up that by
recalculating the right value for highspeed device.

At the time of hid configuration this quirk calculates which highspeed interval
value gives same interval delay as, or next smaller then, what it would be if
the original value would be interpreted as fullspeed value. In subsequent urbs
that new value is used instead.

Forming the 'hid->name' in usb_hid_config() was moved up to accommodate more
descriptive printk reporting the fixup.

In this patch the quirk is set for one such device: Afatech DVB-T 2 infrared
HID-keyboard. It reports value 16 which means 4,069s in highspeed while
obviously 16ms was intended. In this case quirk calculates new value to be 8
which gives when interpreted as highspeed value 16ms as wanted. The behavior of
the device was verified to be what expected both before and after the patch.

Signed-off-by: Pekka Sarnila <sarnila@adit.fi>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2008-04-22 11:34:56 +02:00
..
usbhid HID: fixup fullspeed interval on highspeed Afatech DVB-T IR kbd 2008-04-22 11:34:56 +02:00
hid-core.c HID: fix comment in hid_input_report() 2008-03-18 11:20:32 +01:00
hid-debug.c Input: add KEY_LOGOFF 2007-10-14 13:40:02 +02:00
hid-input-quirks.c HID: fix processing of event quirks 2008-02-11 13:01:51 +01:00
hid-input.c HID: update key codes for Apple aluminium 2008-03-18 11:20:33 +01:00
hidraw.c Use helpers to obtain task pid in printks 2007-10-19 11:53:43 -07:00
Kconfig HID: add hidraw interface 2007-10-14 14:47:26 +02:00
Makefile HID: refactor mapping to input subsystem for quirky devices 2008-01-28 14:51:20 +01:00