diff options
author | mav <mav@FreeBSD.org> | 2013-01-24 09:33:43 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2013-01-24 09:33:43 +0000 |
commit | ffcbdecf1711755c691a896d60602917644b69e0 (patch) | |
tree | a04548ccf186e2f8b17fdd751af88e608b6bebd0 | |
parent | 4d84d2362de69e24a28b7355d6dd9b9598c461d1 (diff) | |
download | FreeBSD-src-ffcbdecf1711755c691a896d60602917644b69e0.zip FreeBSD-src-ffcbdecf1711755c691a896d60602917644b69e0.tar.gz |
Disable MSI interrupts for SB600 chipset. According to the report they are
not functional.
PR: kern/174880, kern/174985, kern/175002
MFC after: 1 week
-rw-r--r-- | sys/dev/ahci/ahci.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c index 5882c86..b17b9f3 100644 --- a/sys/dev/ahci/ahci.c +++ b/sys/dev/ahci/ahci.c @@ -114,8 +114,9 @@ static struct { #define AHCI_Q_NOAA 512 #define AHCI_Q_NOCOUNT 1024 #define AHCI_Q_ALTSIG 2048 +#define AHCI_Q_NOMSI 4096 } ahci_ids[] = { - {0x43801002, 0x00, "ATI IXP600", 0}, + {0x43801002, 0x00, "ATI IXP600", AHCI_Q_NOMSI}, {0x43901002, 0x00, "ATI IXP700", 0}, {0x43911002, 0x00, "ATI IXP700", 0}, {0x43921002, 0x00, "ATI IXP700", 0}, @@ -634,6 +635,8 @@ ahci_setup_interrupt(device_t dev) int i, msi = 1; /* Process hints. */ + if (ctlr->quirks & AHCI_Q_NOMSI) + msi = 0; resource_int_value(device_get_name(dev), device_get_unit(dev), "msi", &msi); if (msi < 0) |