linux-uconsole/drivers/input
Dmitry Torokhov 7f9079606b Input: twl40300-keypad - fix handling of "all ground" rows
commit 3fea60261e upstream.

The Nokia RX51 board code (arch/arm/mach-omap2/board-rx51-peripherals.c)
defines a key map for the matrix keypad keyboard. The hardware seems to
use all of the 8 rows and 8 columns of the keypad, although not all
possible locations are used.

The TWL4030 supports keypads with at most 8 rows and 8 columns. Most keys
are defined with a row and column number between 0 and 7, except

        KEY(0xff, 2, KEY_F9),
        KEY(0xff, 4, KEY_F10),
        KEY(0xff, 5, KEY_F11),

which represent keycodes that should be emitted when entire row is
connected to the ground.  since the driver handles this case as if we
had an extra column in the key matrix. Unfortunately we do not allocate
enough space and end up owerwriting some random memory.

Reported-and-tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 10:20:55 -07:00
..
gameport Input: serio - do not use deprecated dev.power.power_state 2009-05-09 16:10:18 -07:00
joystick Input: xpad - add BigBen Interactive XBOX 360 Controller 2009-10-05 22:00:09 -07:00
keyboard Input: twl40300-keypad - fix handling of "all ground" rows 2010-08-02 10:20:55 -07:00
misc Input: winbond-cir - remove dmesg spam 2010-02-09 04:50:51 -08:00
mouse Input: psmouse - reset all types of mice before reconnecting 2010-07-05 11:11:16 -07:00
serio Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table 2010-08-02 10:20:54 -07:00
tablet Input: wacom - switch mode upon system resume 2010-04-26 07:41:34 -07:00
touchscreen Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-10-09 13:32:24 -07:00
apm-power.c Input: apm-power - fix crash when unloading modules 2008-03-24 11:02:06 -04:00
evbug.c Input: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-30 09:29:05 -04:00
evdev.c headers: remove sched.h from poll.h 2009-10-04 15:05:10 -07:00
ff-core.c Input: fix locking in memoryless force-feedback devices 2009-11-10 21:13:32 -08:00
ff-memless.c Input: fix locking in memoryless force-feedback devices 2009-11-10 21:13:32 -08:00
fixp-arith.h changed email 2007-10-20 00:47:32 +02:00
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-polldev.c Input: remove private member from input_dev structure 2008-04-02 00:41:00 -04:00
input.c Input: force LED reset on resume 2009-11-12 23:20:35 -08:00
joydev.c headers: remove sched.h from poll.h 2009-10-04 15:05:10 -07:00
Kconfig trivial: fix typos/grammar errors in Kconfig texts 2009-03-30 15:22:01 +02:00
Makefile Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
mousedev.c headers: remove sched.h from poll.h 2009-10-04 15:05:10 -07:00
xen-kbdfront.c xen: remove driver_data direct access of struct device from more drivers 2009-06-15 21:30:28 -07:00