Re: [BUG 2.6.20-rc2] atkbd.c: Spurious ACK

From: Rene Herman
Date: Sat Dec 30 2006 - 02:33:09 EST


Dmitry Torokhov wrote:

Somehow you get 2 ACks in a row, I wonder if on your boxes i8042
pumps command and data into keyboard before i8042_interrupt gets a
chance to run. Could you please apply the debug patch below and tell
me the pattern of the data flow.

Yes, I believe the below trace confirms what you said? Both the ED and the 00/05 are sent before the first ACK gets back, by a 1 jiffie margin:

drivers/input/serio/i8042.c: ed -> i8042 (panic blink) [N]
drivers/input/serio/i8042.c: 05 -> i8042 (panic blink) [N + 2]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [N + 3]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [N + 6]
drivers/input/serio/i8042.c: ed -> i8042 (panic blink) [M]
drivers/input/serio/i8042.c: 00 -> i8042 (panic blink) [M + 2]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [M + 3]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [M + 6]

The +2, +3 and +6 are constant. Forgot to pay attention to M - N, but I suppose it's not too important.

For me, the patch as you posted it is actually good to go. No more spurious ACK complaints...

Thanks,
Rene.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/