From: Dmitry Torokhov Do not generate events from atkbd until keyboard is completely initialized. It should suppress messages about suprious NAKs when controller's timeout is longer than one in atkbd. --- 25-akpm/drivers/input/keyboard/atkbd.c | 6 ++++++ 1 files changed, 6 insertions(+) diff -puN drivers/input/keyboard/atkbd.c~new-set-of-input-patches-atkbd-timeout-complaints drivers/input/keyboard/atkbd.c --- 25/drivers/input/keyboard/atkbd.c~new-set-of-input-patches-atkbd-timeout-complaints 2004-04-21 00:22:32.515092240 -0700 +++ 25-akpm/drivers/input/keyboard/atkbd.c 2004-04-21 00:22:32.519091632 -0700 @@ -188,6 +188,7 @@ struct atkbd { unsigned int resend:1; unsigned int release:1; unsigned int bat_xl:1; + unsigned int enabled:1; unsigned int last; unsigned long time; @@ -248,6 +249,9 @@ static irqreturn_t atkbd_interrupt(struc goto out; } + if (!atkbd->enabled) + goto out; + if (atkbd->translated) { if (atkbd->emul || @@ -750,6 +754,8 @@ static void atkbd_connect(struct serio * atkbd->id = 0xab00; } + atkbd->enabled = 1; + if (atkbd->extra) { atkbd->dev.ledbit[0] |= BIT(LED_COMPOSE) | BIT(LED_SUSPEND) | BIT(LED_SLEEP) | BIT(LED_MUTE) | BIT(LED_MISC); sprintf(atkbd->name, "AT Set 2 Extra keyboard"); _