aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard/atkbd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/keyboard/atkbd.c')
-rw-r--r--drivers/input/keyboard/atkbd.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index ff66ed4ee2cd..af0446c6de82 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -171,9 +171,9 @@ static struct {
171 unsigned char set2; 171 unsigned char set2;
172} atkbd_scroll_keys[] = { 172} atkbd_scroll_keys[] = {
173 { ATKBD_SCR_1, 0xc5 }, 173 { ATKBD_SCR_1, 0xc5 },
174 { ATKBD_SCR_2, 0xa9 }, 174 { ATKBD_SCR_2, 0x9d },
175 { ATKBD_SCR_4, 0xb6 }, 175 { ATKBD_SCR_4, 0xa4 },
176 { ATKBD_SCR_8, 0xa7 }, 176 { ATKBD_SCR_8, 0x9b },
177 { ATKBD_SCR_CLICK, 0xe0 }, 177 { ATKBD_SCR_CLICK, 0xe0 },
178 { ATKBD_SCR_LEFT, 0xcb }, 178 { ATKBD_SCR_LEFT, 0xcb },
179 { ATKBD_SCR_RIGHT, 0xd2 }, 179 { ATKBD_SCR_RIGHT, 0xd2 },
@@ -465,8 +465,10 @@ static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int co
465 if (atkbd->softrepeat) return 0; 465 if (atkbd->softrepeat) return 0;
466 466
467 i = j = 0; 467 i = j = 0;
468 while (i < 32 && period[i] < dev->rep[REP_PERIOD]) i++; 468 while (i < 31 && period[i] < dev->rep[REP_PERIOD])
469 while (j < 4 && delay[j] < dev->rep[REP_DELAY]) j++; 469 i++;
470 while (j < 3 && delay[j] < dev->rep[REP_DELAY])
471 j++;
470 dev->rep[REP_PERIOD] = period[i]; 472 dev->rep[REP_PERIOD] = period[i];
471 dev->rep[REP_DELAY] = delay[j]; 473 dev->rep[REP_DELAY] = delay[j];
472 param[0] = i | (j << 5); 474 param[0] = i | (j << 5);