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 <thatistosayiseenem at gawab.com> > > 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