From: Robert Hancock <hancockrwd@gmail.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Bastien Nocera <hadess@hadess.net>,
linux-kernel <linux-kernel@vger.kernel.org>,
pjones@redhat.com, vojtech@suse.cz
Subject: Re: [PATCH] Disable i8042 checks on Intel Apple Macs
Date: Thu, 21 Jan 2010 18:26:31 -0600 [thread overview]
Message-ID: <51f3faa71001211626y1e65f81ambfa4ad19af5aa5ff@mail.gmail.com> (raw)
In-Reply-To: <20100121221701.GA15293@core.coreip.homeip.net>
On Thu, Jan 21, 2010 at 4:17 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> On Thu, Jan 21, 2010 at 03:39:25PM -0600, Robert Hancock wrote:
>> On Thu, Jan 21, 2010 at 12:55 PM, Dmitry Torokhov
>> <dmitry.torokhov@gmail.com> wrote:
>> > On Wed, Jan 20, 2010 at 06:41:56PM -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@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.
>> >
>> > Basically, we do not trust BIOS writers on x86 ;) In the past there were
>> > occasions when they forgot to mention presence of KBD/AUX in DSDT and
>> > elsewhere which lead to non-functional keyboard/mouse.
>>
>> Are we certain about that? Any pointers to reports?
>>
>
> This is from the changelog when this was introduced:
>
> -------------------------------------------------------------------------
> 2005/02/25 21:21:03+01:00 vojtech
> input: After testing on real world hardware, it's obvious we can't trust
> ACPIPnP nor PnPBIOS to properly report the existence of a keyboard
> and mouse port in all cases. Some BIOSes hide the ports if no mouse
> or keyboard is connected, causing trouble with eg. KVM switches.
If it's just that case (which isn't certain given Vojtech's report),
then I think it's reasonable to ignore that by default. If the BIOS
decided to hide the controller then our default behavior should be to
believe it, with the ability to override that if necessary, not the
other way around.
>
> The i8042 driver now does read-only probing first, which should
> not cause any problems even if an i8042 controller really is not
> present.
>
> However, on IA64 we still need to trust ACPI, since legacy-free
> hardware is common there and invalid port accesses cause exceptions.
>
> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
>
>>> Input: Add ACPI-based i8042 keyboard and aux controller enumeration;
>> > can be disabled by passing i8042.noacpi as a boot parameter.
>>
>> On a whim I decided to turn on ACPI, only to discover that my keyboard
>> no longer worked. Passing i8042.noacpi=1 makes it work again.
>> Attached please find boot messages with and without the boot
>> parameter. Inlined below is a diff of the two.
>
> --------------------------------------------------------------------------
>
> I'm adding Vojtech in case he manages to recall what other failures he
> has seen.
>
>> >
>> >> 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).
>> >>
>> >
>> > If they are not Macs that mean they are tested with windows and thus
>> > expect probes in i8042 port region so no harm done. In a few years if
>> > everyone uses USB only we could add a year threshold to trust ACPI/PNP
>> > data.
>>
>> Macs will be tested with Windows too, so obviously it manages to avoid
>> this problem somehow, and I very much doubt it has an Apple-specific
>> check..
>
> Why not?
Some of the supported Windows versions were likely released before any
Intel-based Macs, which would make such a check impossible.
I think we're far too quick to add DMI lists for things in the kernel.
If there's a way we can just do the right thing, we should be.
next prev parent reply other threads:[~2010-01-22 0:26 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-20 18:23 [PATCH] Disable i8042 checks on Intel Apple Macs Bastien Nocera
2010-01-20 19:14 ` Justin P. Mattock
2010-01-20 19:37 ` Bastien Nocera
2010-01-20 19:54 ` Justin P. Mattock
2010-01-21 0:41 ` Robert Hancock
2010-01-21 1:31 ` Bastien Nocera
2010-01-21 2:19 ` Robert Hancock
2010-01-21 18:55 ` Dmitry Torokhov
2010-01-21 21:39 ` Robert Hancock
2010-01-21 21:42 ` Bastien Nocera
2010-01-21 21:49 ` Justin P. Mattock
2010-01-22 0:29 ` Robert Hancock
2010-01-22 1:20 ` Justin P. Mattock
2010-01-22 2:09 ` Bastien Nocera
2010-01-22 2:30 ` Robert Hancock
2010-01-22 2:53 ` Bastien Nocera
2010-01-22 2:31 ` Justin P. Mattock
2010-01-21 22:17 ` Dmitry Torokhov
2010-01-22 0:26 ` Robert Hancock [this message]
2010-01-22 17:46 ` H. Peter Anvin
2010-01-22 18:15 ` Bastien Nocera
2010-01-22 22:33 ` Robert Hancock
2010-01-22 22:49 ` H. Peter Anvin
2010-01-25 16:34 ` Vojtech Pavlik
2010-01-25 21:32 ` H. Peter Anvin
2010-01-25 22:15 ` Dmitry Torokhov
2010-01-25 22:18 ` H. Peter Anvin
2010-01-25 22:30 ` Dmitry Torokhov
2010-01-25 23:05 ` H. Peter Anvin
2010-01-25 23:28 ` Dmitry Torokhov
2010-01-25 23:31 ` H. Peter Anvin
2010-05-04 17:06 ` Bastien Nocera
2010-05-04 17:23 ` Dmitry Torokhov
2010-05-04 17:37 ` Bastien Nocera
-- strict thread matches above, loose matches on Subject: below --
2010-05-04 17:36 Bastien Nocera
2010-05-04 17:55 ` Pekka Enberg
2010-05-04 18:02 ` Dmitry Torokhov
2010-05-05 9:18 ` Bastien Nocera
2010-05-05 21:27 ` Kyle McMartin
2010-05-12 0:11 Bastien Nocera
2010-05-12 10:51 ` Felipe Contreras
2010-05-12 11:00 ` Felipe Contreras
2010-05-12 17:51 ` Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51f3faa71001211626y1e65f81ambfa4ad19af5aa5ff@mail.gmail.com \
--to=hancockrwd@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=hadess@hadess.net \
--cc=linux-kernel@vger.kernel.org \
--cc=pjones@redhat.com \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).