On Wed, 7 Mar 2007, Jeff Garzik wrote:
>
> Adrian Bunk wrote:
> > Subject    : AT keyboard only works with pci=noacpi
> > References : http://lkml.org/lkml/2007/3/3/68
> > Submitter  : Ash Milsted <[EMAIL PROTECTED]>
> > Status     : unknown
> 
> sounds like a BIOS bug, even though it appears to be a regression?

So?

BIOS bugs are not bugs we can fix, they are things we have to work around. 
They are like hardware bugs in a network chip: a "driver" that doesn't 
work around a BIOS bug is simply a *buggy* driver, exactly the same way a 
network driver has to work around errata in the hardware.

So it doesn't really matter if something is a BIOS bug or not. It's not 
reasonable to expect people to upgrade their BIOS'es - even if such an 
upgrade were to exist (which is fairly rare in itself). 

If it used to work, that just makes it (a) doubly important to try to fix 
it, since regressions are BAD BAD BAD and (b) a fair amount *easier* to 
fix, since we can hopefully get an idea of what broke it.

Ash, can you try to use "git bisect" to figure where it started? But 
perhaps just try -rc3 first to see if it's been fixed?

The working setups (whether with irqfixup or with pci=noacpi seem to both 
have a nice

        input: AT Translated Set 2 keyboard as /class/input/inputX

but the nonworking one does not. But even the nonworking one actually 
*found* the controller:

        PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
        PNP: PS/2 controller doesn't have AUX irq; using default 12
        serio: i8042 KBD port at 0x60,0x64 irq 1
        serio: i8042 AUX port at 0x60,0x64 irq 12
        mice: PS/2 mouse device common for all mice

which probably means that the "atkbd_probe()" function fails (probably 
because it never gets a reply, which in turn is probably because the 
interrupt routing is broken).

If you use "atkbd.reset=1" on the kernel command line, you would probably 
get a message like "keyboard reset failed"..

Now, the most likely cause is obviously just the ACPI changes that mess up 
irq routing somehow, but it would be important to figure out *what* makes 
it happen, which is why "git bisect" would be wonderful to try.

So Ash, if you get the git tree, just start with

        git bisect start
        git bisect good v2.6.20
        git bisect bad v2.6.21-rc1

and off you go.. git isn't really that hard to use any more.

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

Reply via email to