From: Dmitry Torokhov psmouse - if keyboard controller reports a timeout or a parity error do not try to process the byte, log the problem and drop it early. --- drivers/input/mouse/psmouse-base.c | 7 +++++++ 1 files changed, 7 insertions(+) diff -puN drivers/input/mouse/psmouse-base.c~psmouse-drop-timed-out-bytes drivers/input/mouse/psmouse-base.c --- 25/drivers/input/mouse/psmouse-base.c~psmouse-drop-timed-out-bytes 2004-01-10 01:01:34.000000000 -0800 +++ 25-akpm/drivers/input/mouse/psmouse-base.c 2004-01-10 01:01:34.000000000 -0800 @@ -121,6 +121,13 @@ static irqreturn_t psmouse_interrupt(str if (psmouse->state == PSMOUSE_IGNORE) goto out; + if (flags & (SERIO_PARITY|SERIO_TIMEOUT)) { + printk(KERN_WARNING "psmouse.c: bad data from KBC -%s%s\n", + flags & SERIO_TIMEOUT ? " timeout" : "", + flags & SERIO_PARITY ? " bad parity" : ""); + goto out; + } + if (psmouse->acking) { switch (data) { case PSMOUSE_RET_ACK: _