lkml.org 
[lkml]   [2010]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] Disable i8042 checks on Intel Apple Macs
From
Date
On Mon, 2010-01-25 at 14:15 -0800, Dmitry Torokhov wrote:
> On Mon, Jan 25, 2010 at 01:32:42PM -0800, H. Peter Anvin wrote:
> > On 01/25/2010 08:34 AM, Vojtech Pavlik wrote:
> > >
> > > Thus I believe that the right fix here is to figure out why the accesses
> > > to the ports 0x60/0x64 take a long time or forever on a Mac. Is it just
> > > that the kernel is timing out waiting for the i8042? Or is it something
> > > more sinister?
> > >
> >
> > In the A20 code in the setup code, I look for 0xFF coming back and
> > terminate the "wait for ready" loop much sooner than for other values.
> > 0xFF is a *possible* status value, but not a very *likely* one
> > (especially for repeated reads), as it would represent:
> >
> > parity error + receive timeout + transmit timeout + keyboard lock +
> > command + selftest OK + input full + output full.
> >
>
> You allow up to 32 0xFFs while i8042 driver does maximum 16 reads of
> whatever - if OBF is still raised we assume i8042 is not there. Does
> that mean that reads from 0x60 is what hurts on Macs?
>
> Bastien, could you try modifying drivers/input/serio/i8042.c::
> i8042_flush() to not call i8042_read_data() when str is 0xff and see if
> it helps with lockups?

Doesn't seem to make any difference. It still hangs after saying:
PNP: No PS/2 controller found. Probing ports directly.

The patch looks like:
udelay(50);
+ if (str == 0xff)
+ continue;
data = i8042_read_data();

Not sure that's what you meant above.

Pressing the power button doesn't make it carry on for me, as it used
to. Let me know if there's anything more you want me to try.

In the meantime, I'll try to get my original patch into my distribution
so I don't get bitten by half-booted kernels in the near future.

Cheers



\
 
 \ /
  Last update: 2010-05-04 19:11    [W:0.066 / U:34.812 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site