diff options
author | mav <mav@FreeBSD.org> | 2011-06-14 20:30:15 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2011-06-14 20:30:15 +0000 |
commit | af6faca77e2acf558356503d8311e73616b6bcbc (patch) | |
tree | 6af5c6c2f4d40c387af374e2f18213a39412fe35 | |
parent | a11bba2ac0d2c4ab9c0acc179a383d8ca04cda70 (diff) | |
download | FreeBSD-src-af6faca77e2acf558356503d8311e73616b6bcbc.zip FreeBSD-src-af6faca77e2acf558356503d8311e73616b6bcbc.tar.gz |
Skip BAR(5) usage for SATA registers access on ICH8M Apples, because for
some reason it causes system lock up. Linux does the same.
MFC after: 1 week
-rw-r--r-- | sys/dev/ata/chipsets/ata-intel.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ata/chipsets/ata-intel.c b/sys/dev/ata/chipsets/ata-intel.c index 3b514db..e128051 100644 --- a/sys/dev/ata/chipsets/ata-intel.c +++ b/sys/dev/ata/chipsets/ata-intel.c @@ -288,7 +288,9 @@ ata_intel_chipinit(device_t dev) 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, |