Messages in this thread | | | Date | Sat, 30 Dec 2006 12:19:58 +0100 | From | Laurent Riffard <> | Subject | Re: [BUG 2.6.20-rc2] atkbd.c: Spurious ACK |
| |
Le 30.12.2006 08:20, Rene Herman a écrit : > 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.
Hi Dmitry, Rene
I can confirm Rene's report: this patch works fine since there is no more "Spurious ACK on isa0060/serio0" message.
Here is a debug output as requested:
<0>Kernel panic - not syncing: Fatal exception in interrupt <7>drivers/input/serio/i8042.c: 13 <- i8042 (interrupt, 0, 1) [49602] drivers/input/serio/i8042.c: 93 <- i8042 (interrupt, 0, 1) [49603] drivers/input/serio/i8042.c: ed -> i8042 (panic blink) [49728] drivers/input/serio/i8042.c: 05 -> i8042 (panic blink) [49729] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [49730] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [49732] drivers/input/serio/i8042.c: ed -> i8042 (panic blink) [49856] drivers/input/serio/i8042.c: 00 -> i8042 (panic blink) [49857] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [49858] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [49860] drivers/input/serio/i8042.c: ed -> i8042 (panic blink) [49983] drivers/input/serio/i8042.c: 05 -> i8042 (panic blink) [49985] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [49986] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [49988] drivers/input/serio/i8042.c: ed -> i8042 (panic blink) [50112] drivers/input/serio/i8042.c: 00 -> i8042 (panic blink) [50114] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [50115] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [50117]
thanks -- laurent - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |