ATA_PERIODIC_POLL on ATA_I82801HBM_S1 causes lockups
Rick van der Zwet
info at rickvanderzwet.nl
Tue Jun 14 20:25:53 UTC 2011
On 14 June 2011 15:26, Alexander Motin <mav at 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
> ===================================================================
> --- ata-intel.c (revision 223019)
> +++ ata-intel.c (working copy)
> @@ -288,7 +288,9 @@
> ATA_OUTL(ctlr->r_res2, 0x0C,
> ATA_INL(ctlr->r_res2, 0x0C) | 0xf);
> }
> - } else {
> + /* Skip BAR(5) on ICH8M Apples, system locks up on access. */
> + } else if (ctlr->chip->chipid != ATA_I82801HBM_S1 ||
> + pci_get_subvendor(dev) != 0x106b) {
> ctlr->r_type2 = SYS_RES_IOPORT;
> ctlr->r_rid2 = PCIR_BAR(5);
> ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2,
Works like a charm.
Br. /Rick
--
http://rickvanderzwet.nl
More information about the freebsd-current
mailing list