PCI: Disable MSI on SiS 761
authorOndrej Zary <linux@rainbow-software.org>
Thu, 24 Sep 2015 22:02:07 +0000 (17:02 -0500)
committerBjorn Helgaas <helgaas@kernel.org>
Thu, 24 Sep 2015 22:02:07 +0000 (17:02 -0500)
MSI is broken on SiS 761 chipset at least on PC Chips A31G board.  No
interrupts are delivered once MSI is enabled for a device.  This causes
hang on X11 start with a nVidia card installed (with nouveau driver).

Disable MSI completely for this chipset.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Bjorn Helgaas <helgaas@kernel.org>
drivers/pci/quirks.c

index 6a30252cd79f20f24e604965a9a023f2ff08478f..83be0e55554871d5b0475f6294a761717da820c7 100644 (file)
@@ -2230,6 +2230,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3336, quirk_disab
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3351, quirk_disable_all_msi);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disable_all_msi);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0761, quirk_disable_all_msi);
 
 /* Disable MSI on chipsets that are known to not support it */
 static void quirk_disable_msi(struct pci_dev *dev)