]> git.hungrycats.org Git - linux/commitdiff
Fix keyboard double E0-sequence release case
authorLinus Torvalds <torvalds@home.osdl.org>
Tue, 2 Sep 2003 02:53:49 +0000 (19:53 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Tue, 2 Sep 2003 02:53:49 +0000 (19:53 -0700)
From Andries Brouwer <aebr@win.tue.nl>: we discard the double
release keypress, but we did it without clearing the "last byte
was E0" flag. So the next byte in the input stream would get
corrupted.

drivers/input/serio/i8042.c

index 2ae4bf623a21c110717e52f85f5eba11e6fee767..8ba89df109fa069482cc498bb37cb754f9322cda 100644 (file)
@@ -410,6 +410,7 @@ static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs)
                        /* work around hardware that doubles key releases */
                        if (index == i8042_last_release) {
                                dbg("i8042 skipped double release (%d)\n", index);
+                               i8042_last_e0 = 0;
                                continue;
                        }
                        if (index == 0xaa || index == 0xb6)