Re: [PATCH] Disable i8042 checks on Intel Apple Macs

From: Bastien Nocera
Date: Wed Jan 20 2010 - 20:31:38 EST


On Wed, 2010-01-20 at 18:41 -0600, Robert Hancock wrote:
> 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@xxxxxxxxxx>
>
> 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

Actually, the error message is "i8042.c: No controller found". Which
happens very early in a sub-function of i8042_init().

So I don't think this would solve the problem.

> 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).

They might also have a better BIOS than the Macs and avoid hanging when
that happens...

> 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.

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