• Dmitry Torokhov's avatar
    Input: twl40300-keypad - fix handling of "all ground" rows · 3fea6026
    Dmitry Torokhov authored
    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: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: stable@kernel.org
    Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
    3fea6026
twl4030_keypad.c 12.3 KB