diff options
author | 2022-03-22 17:16:21 -0500 | |
---|---|---|
committer | 2022-03-22 17:16:21 -0500 | |
commit | a6e0eba677f8e9b58f8062205566a911c15e1f4f (patch) | |
tree | 14e079858fd47c2fee89661767f613bffd71d674 /drivers/pci | |
parent | Merge branch 'pci/misc' (diff) | |
parent | PCI: Avoid broken MSI on SB600 USB devices (diff) | |
download | wireguard-linux-a6e0eba677f8e9b58f8062205566a911c15e1f4f.tar.xz wireguard-linux-a6e0eba677f8e9b58f8062205566a911c15e1f4f.zip |
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; |