From 329c83f4fd993ae8eeb3aee232d7d832c8edeb4a Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov <dtor_core@ameritech.net> Date: Thu, 22 Apr 2004 16:40:48 -0500 Subject: [PATCH] Input: 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 --- drivers/input/keyboard/atkbd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 51352046b7e2..026fc13ead0b 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c @@ -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(struct serio *serio, unsigned char data, goto out; } + if (!atkbd->enabled) + goto out; + if (atkbd->translated) { if (atkbd->emul || @@ -750,6 +754,8 @@ static void atkbd_connect(struct serio *serio, struct serio_dev *dev) 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"); -- 2.30.9