Messages in this thread | | | Date | Wed, 20 Jan 2010 18:41:56 -0600 | From | Robert Hancock <> | Subject | Re: [PATCH] Disable i8042 checks on Intel Apple Macs |
| |
On 01/20/2010 12:23 PM, Bastien Nocera wrote: > As those computers never had any i8042 controllers, and the > current lookup code could potentially lock up/hang/wait for > timeout for long periods of time. > > Fixes intermittent hangs on boot on a MacbookAir1,1 > > Signed-off-by: Bastien Nocera<hadess@hadess.net>
I assume this is happening because of this code in drivers/input/serio/i8042-x86ia64io.h:
if (!i8042_pnp_kbd_devices && !i8042_pnp_aux_devices) { i8042_pnp_exit(); #if defined(__ia64__) return -ENODEV; #else printk(KERN_INFO "PNP: No PS/2 controller found. Probing ports directly.\n"); return 0; #endif
In other words, on x86, if PNP and/or ACPI don't indicate any PS/2 controller exists, we randomly bang on the ports in the expectation they'll be there anyway. This seems rather misguided. It would seem like a better idea to fix this rather than adding yet another DMI list (especially since there likely are, or will be, machines without i8042 other than Macs).
I can see continuing on and probing if PNP isn't present on the machine, but certainly if ACPI is enabled, I don't think we should be doing such things.
| |