summaryrefslogtreecommitdiff
path: root/drivers/input/misc/gpio_matrix.c
diff options
context:
space:
mode:
authorArve Hjønnevåg <arve@android.com>2009-07-14 20:58:41 -0700
committerColin Cross <ccross@android.com>2011-06-14 09:08:48 -0700
commit8f836aa8da5032979071b1b650b2ab240b60b7f7 (patch)
treea6111b011bc6b332368d20884ba5565b9b3d9b2d /drivers/input/misc/gpio_matrix.c
parent72fc6246877ea0f28c99da36fa513b6f970f4833 (diff)
Input: gpio_input: Fix keys with keycode 0x100-0x1ff
KEY_MAX is no longer a power of 2. Signed-off-by: Arve Hjønnevåg <arve@android.com>
Diffstat (limited to 'drivers/input/misc/gpio_matrix.c')
-rw-r--r--drivers/input/misc/gpio_matrix.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/input/misc/gpio_matrix.c b/drivers/input/misc/gpio_matrix.c
index 441cc1ce1ab..10b44110166 100644
--- a/drivers/input/misc/gpio_matrix.c
+++ b/drivers/input/misc/gpio_matrix.c
@@ -316,9 +316,8 @@ int gpio_event_matrix_func(struct input_dev *input_dev,
kp->keypad_info = mi;
set_bit(EV_KEY, input_dev->evbit);
for (i = 0; i < key_count; i++) {
- if (mi->keymap[i])
- set_bit(mi->keymap[i] & KEY_MAX,
- input_dev->keybit);
+ if (mi->keymap[i] && mi->keymap[i] <= KEY_MAX)
+ set_bit(mi->keymap[i], input_dev->keybit);
}
for (i = 0; i < mi->noutputs; i++) {