On some platforms, the host bridge exposes an MSI-X capability but doesn't actually support it. This causes a crash during initialization by the pcieport driver, since it tries to configure the MSI-X capability. Signed-off-by: Jonathan Chocron <jonnyc@xxxxxxxxxx> --- drivers/pci/quirks.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 11850b030637..0fb70d755977 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2925,6 +2925,14 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x10a1, quirk_msi_intx_disable_qca_bug); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0xe091, quirk_msi_intx_disable_qca_bug); + +static void quirk_al_msi_disable(struct pci_dev *dev) +{ + dev->no_msi = 1; + dev_warn(&dev->dev, "Annapurna Labs pcie quirk - disabling MSI\n"); +} +DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, 0x0031, + PCI_CLASS_BRIDGE_PCI, 8, quirk_al_msi_disable); #endif /* CONFIG_PCI_MSI */ /* -- 2.17.1