Date: Tue, 14 Jun 2011 22:25:52 +0200 From: Rick van der Zwet <info@rickvanderzwet.nl> To: Alexander Motin <mav@freebsd.org> Cc: FreeBSD-Current <freebsd-current@freebsd.org> Subject: Re: ATA_PERIODIC_POLL on ATA_I82801HBM_S1 causes lockups Message-ID: <BANLkTi=wL_OrEuF5xdwQuUK%2Bd6NHxK3fnw@mail.gmail.com> In-Reply-To: <4DF76176.7030207@FreeBSD.org> References: <mailpost.1308032279.3200006.77402.mailing.freebsd.current@FreeBSD.cs.nctu.edu.tw> <4DF76176.7030207@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 14 June 2011 15:26, Alexander Motin <mav@freebsd.org> wrote: > Rick van der Zwet wrote: >> The ICH8M found in the MacBookPro4,1 has an known issue [1] which >> locks up when enabling the periodic poll using sidpr (introduced a >> ``little'' while ago in r214016), making it impossible to boot. >> >> Attached patch disables the polling and thus fixes the issue. >> >> Br. /Rick >> [1] http://www.spinics.net/lists/linux-ide/msg23487.html > > Thank you for reminder, but your patch is not exactly right. Could you > test this one: > > Index: ata-intel.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- ata-intel.c (revision 223019) > +++ ata-intel.c (working copy) > @@ -288,7 +288,9 @@ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ATA_OUTL(ctlr->r_res2, 0x0= C, > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ATA_INL(ctlr->r_re= s2, 0x0C) | 0xf); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} > - =A0 =A0 =A0 } else { > + =A0 =A0 =A0 /* Skip BAR(5) on ICH8M Apples, system locks up on access. = */ > + =A0 =A0 =A0 } else if (ctlr->chip->chipid !=3D ATA_I82801HBM_S1 || > + =A0 =A0 =A0 =A0 =A0 pci_get_subvendor(dev) !=3D 0x106b) { > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ctlr->r_type2 =3D SYS_RES_IOPORT; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ctlr->r_rid2 =3D PCIR_BAR(5); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ctlr->r_res2 =3D bus_alloc_resource_any(de= v, ctlr->r_type2, Works like a charm. Br. /Rick --=20 http://rickvanderzwet.nl
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=wL_OrEuF5xdwQuUK%2Bd6NHxK3fnw>