diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2022-03-22 17:16:21 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2022-03-22 17:16:21 -0500 |
commit | a6e0eba677f8e9b58f8062205566a911c15e1f4f (patch) | |
tree | 14e079858fd47c2fee89661767f613bffd71d674 /drivers/pci | |
parent | 73c82469bd88ce1c9a4403f34582e544e77f4854 (diff) | |
parent | 63cd736f449445edcd7f0bcc7d84453e9beec0aa (diff) |
Merge branch 'pci/msi'
- Avoid broken MSI on SB600 USB devices (Bjorn Helgaas)
* pci/msi:
PCI: Avoid broken MSI on SB600 USB devices
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/quirks.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index d2dd6a6cda60..5f46fed01e6c 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1811,6 +1811,18 @@ static void quirk_alder_ioapic(struct pci_dev *pdev) DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic); #endif +static void quirk_no_msi(struct pci_dev *dev) +{ + pci_info(dev, "avoiding MSI to work around a hardware defect\n"); + dev->no_msi = 1; +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4386, quirk_no_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4387, quirk_no_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4388, quirk_no_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4389, quirk_no_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x438a, quirk_no_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x438b, quirk_no_msi); + static void quirk_pcie_mch(struct pci_dev *pdev) { pdev->no_msi = 1; |