summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2013-01-24 09:33:43 +0000
committermav <mav@FreeBSD.org>2013-01-24 09:33:43 +0000
commitffcbdecf1711755c691a896d60602917644b69e0 (patch)
treea04548ccf186e2f8b17fdd751af88e608b6bebd0
parent4d84d2362de69e24a28b7355d6dd9b9598c461d1 (diff)
downloadFreeBSD-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.c5
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)
OpenPOWER on IntegriCloud