From: Andy Gospodarek I've been seeing lots of messages like these: eth0: No interrupt was generated using MSI, switching to INTx mode. Please report this failure to the PCI maintainer and include system chipset information. On several systems that use the following Severworks HT1000 (also sometimes labeled as a Broadcom chipset as well) bridge chips. It doesn't appear MSI works well (if at all) on these systems. Signed-off-by: Andy Gospodarek Cc: "Eric W. Biederman" Cc: Greg KH Signed-off-by: Andrew Morton --- drivers/pci/quirks.c | 1 + include/linux/pci_ids.h | 1 + 2 files changed, 2 insertions(+) diff -puN drivers/pci/quirks.c~pci-disable-msi-by-default-on-systems-with-serverworks-ht1000-chips drivers/pci/quirks.c --- a/drivers/pci/quirks.c~pci-disable-msi-by-default-on-systems-with-serverworks-ht1000-chips +++ a/drivers/pci/quirks.c @@ -1637,6 +1637,7 @@ static void __init quirk_svw_msi(struct printk(KERN_WARNING "PCI: MSI quirk detected. MSI deactivated.\n"); } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_svw_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000_PCIX, quirk_svw_msi ); /* Disable MSI on chipsets that are known to not support it */ static void __devinit quirk_disable_msi(struct pci_dev *dev) diff -puN include/linux/pci_ids.h~pci-disable-msi-by-default-on-systems-with-serverworks-ht1000-chips include/linux/pci_ids.h --- a/include/linux/pci_ids.h~pci-disable-msi-by-default-on-systems-with-serverworks-ht1000-chips +++ a/include/linux/pci_ids.h @@ -1437,6 +1437,7 @@ #define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009 #define PCI_DEVICE_ID_SERVERWORKS_GCNB_LE 0x0017 #define PCI_DEVICE_ID_SERVERWORKS_EPB 0x0103 +#define PCI_DEVICE_ID_SERVERWORKS_HT1000_PCIX 0x0104 #define PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE 0x0132 #define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200 #define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201 _