Re: 2.6.18-rc4-mm1 Spurious ACK/NAK on isa0060/serio0, 2.6.18-rc2 is fine

Greg KH
2006-08-18T21:57:52Z

On Fri, Aug 18, 2006 at 12:34:34AM +0200, Helge Hafting wrote:
> On Fri, Aug 18, 2006 at 12:10:52AM +0200, Helge Hafting wrote:
> > So I tried 2.6.18-rc4-mm1 on my opteron. (Running 64-bit)
> >
> > The kernel did not boot, but went into an infinite loop of
> >
> > Spurious ACK on isa0060/serio0
> > over and over. I have two keyboards, one attached the usual
> > way and another attached where a mouse usually goes.
> > This works fine with 2.6.18-rc2, but no longer now.
> > One keyboard is dead, and on the other, two of the
> > leds blink on and off.
> >
> > Unplugging a keyboard changes the repeating message to
> > Spurious NAK ... instead.
> >
> > Unplugging both keyboards stops the nonsense, but then - no keyboard.
> >
> > This kernel also fails to mount root, a fact that is hard to see as
> > the stupid messages quickly scroll everything else away.
> > That might be something simple like the changed ATA config
> > or multithreaded pci probe.
> >
> > There just cannot be any program "trying to access hw directly",
> > I don't get the root fs so I don't even have init running.
> >
> I got rid of the multithreaded PCI probe - and the root fs was
> recognised again (I have both SATA and SCSI, perhaps they
> were probed in wrong order)

Are you using the ata_piix driver by chance for your root partition? If
so, the multi-thread stuff will not work unless you use the hack below.

> Curiously enough, the keyboard trouble went away too. Odd.
> Now posting from a working 2.6.18-rc4-mm1 (With the jiffies hotfix)

The keyboard stuff is very odd, your keyboard should not be on the PCI
bus :(

thanks,

greg k-h

--------------

From: Greg Kroah-Hartman <gregkh@suse.de>
Subject: Driver: multi-threaded hacks

- Fix "issue" with ata_piix doing multi-threaded boot

Use at your own risk.

---
drivers/scsi/ata_piix.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- gregkh-2.6.orig/drivers/scsi/ata_piix.c
+++ gregkh-2.6/drivers/scsi/ata_piix.c
@@ -945,7 +945,7 @@ static int __init piix_init(void)
if (rc)
return rc;

- in_module_init = 0;
+// in_module_init = 0; multi-threaded probe doesn't like this...

DPRINTK("done\n");
return 0;