linux-stable/drivers/hid
Pete Zaitcev 75c28df87e HID: non-overlapping zeroing of extra bits
From my review of the way the unused bits of report are being zeroed,
it seems like there must be a bug. Currently, the zeroing is done
in hid_output_field and it covers any bits between the last used bit
and the end of the byte. But in case of, say, my keyboard, NumLock is
mask 0x01 and CapsLock is 0x02. Invoking hid_output_field for NumLock
definitely zeroes across CapsLock. The only reason this works is that
the fields are sorted by the offset.

It would be more correct and simpler to zero-fill the buffer into
which the fields are set.

The patch is tested with an IBM keyboard that is improperly sensitive
to out-of-report pad bits, the extra bits are still zeroed and the
fields continue to work as expected. It is also tested with good
keyboards.

In case, a related bug in RHEL 5 is tracked with Red Hat bug 513934.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-13 15:55:49 +02:00
..
usbhid HID: usbhid: enable remote wakeup for keyboards 2010-04-03 01:36:03 +02:00
hid-3m-pct.c HID: add support for 3M multitouch 22" display 2010-04-11 20:34:50 +02:00
hid-a4tech.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-apple.c Merge branch 'master' into upstream 2010-02-02 23:10:39 +01:00
hid-belkin.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-cherry.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-chicony.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-core.c HID: non-overlapping zeroing of extra bits 2010-04-13 15:55:49 +02:00
hid-cypress.c HID: add support for Acan FG-8100 barcode reader 2009-12-02 22:54:11 +01:00
hid-debug.c HID: hid-debug.c: make local symbols static 2010-01-15 11:38:51 +01:00
hid-drff.c HID: fix hid-ff drivers so that devices work even without ff support 2009-05-15 15:51:36 +02:00
hid-ezkey.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-gaff.c HID: fix hid-ff drivers so that devices work even without ff support 2009-05-15 15:51:36 +02:00
hid-gyration.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-ids.h HID: add support for 3M multitouch 22" display 2010-04-11 20:34:50 +02:00
hid-input.c HID: extend mask for BUTTON usage page 2010-02-17 09:36:35 +01:00
hid-kensington.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-kye.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-lg.c HID: add driver for the Logitech Flight System G940 2010-01-13 00:26:31 +01:00
hid-lg.h Merge branch 'master' into upstream 2010-02-02 23:10:39 +01:00
hid-lg2ff.c HID: convert to dev_* prints 2008-10-14 23:51:01 +02:00
hid-lg3ff.c HID: add driver for the Logitech Flight System G940 2010-01-13 00:26:31 +01:00
hid-lgff.c HID: add driver for the Logitech Flight System G940 2010-01-13 00:26:31 +01:00
hid-magicmouse.c HID: magicmouse: coding style and probe failure fixes 2010-02-11 11:22:35 +01:00
hid-microsoft.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-monterey.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-mosart.c HID: remove MODULE_VERSION from new drivers 2010-02-10 15:29:02 +01:00
hid-ntrig.c HID: hid-ntrig: Single touch mode tap 2010-02-16 17:56:20 +01:00
hid-ortek.c HID: add support for Ortek WKB-2000 2010-01-26 01:57:35 +01:00
hid-petalynx.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-pl.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-quanta.c HID: remove MODULE_VERSION from new drivers 2010-02-10 15:29:02 +01:00
hid-samsung.c HID: Support 171 byte variant of Samsung USB IR receiver 2009-12-11 10:59:02 +01:00
hid-sjoy.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-sony.c Merge branches 'upstream', 'raw_report_modifications' and 'apple_magic_mouse' into for-linus 2010-02-25 17:39:16 +01:00
hid-stantum.c HID: remove MODULE_VERSION from new drivers 2010-02-10 15:29:02 +01:00
hid-sunplus.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-tmff.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-topseed.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-twinhan.c HID: add __init/__exit macros to twinhan.c 2009-09-29 13:58:20 +02:00
hid-wacom.c HID: add sysfs speed attribute for wacom bluetooth tablet 2010-03-22 09:55:26 +01:00
hid-zpff.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hidraw.c HID: make raw reports possible for both feature and output reports 2010-02-03 15:41:52 +01:00
Kconfig HID: expose wacom pen tablet battery through power_supply class 2010-03-16 11:55:43 +01:00
Makefile Merge branches 'upstream', 'raw_report_modifications' and 'apple_magic_mouse' into for-linus 2010-02-25 17:39:16 +01:00