lkml.org 
[lkml]   [2006]   [Dec]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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/

\
 
 \ /
  Last update: 2006-12-30 12:23    [W:0.056 / U:1.512 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site