From: Manivannan Sadhasivam Date: Fri, 2 Jan 2026 15:34:50 +0000 (+0530) Subject: PCI: Disable ACS SV for IDT 0x8090 switch X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5f88a3947055e4ef8c04222ec75950d2fdfa79f;p=thirdparty%2Fkernel%2Flinux.git PCI: Disable ACS SV for IDT 0x8090 switch The IDT switch with Device ID 0x8090 used in the ARM Juno R2 development board incorrectly raises an ACS Source Validation error on Completions for Config Read Requests, even though PCIe r7.0, sec 6.12.1.1, says that Completions are never affected by ACS Source Validation. This is already handled by the pci_disable_broken_acs_cap() quirk for the IDT 0x80b5 switch. Extend the quirk for the 0x8090 device too. Signed-off-by: Manivannan Sadhasivam Signed-off-by: Bjorn Helgaas Tested-by: Marek Szyprowski Tested-by: Naresh Kamboju Link: https://patch.msgid.link/20260102-pci_acs-v3-4-72280b94d288@oss.qualcomm.com --- diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 6360c172ff0d..e5c32a21d57f 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -5824,7 +5824,7 @@ DECLARE_PCI_FIXUP_CLASS_RESUME_EARLY(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, void pci_disable_broken_acs_cap(struct pci_dev *pdev) { if (pdev->vendor == PCI_VENDOR_ID_IDT && - pdev->device == 0x80b5) { + (pdev->device == 0x80b5 || pdev->device == 0x8090)) { pci_info(pdev, "Disabling broken ACS SV; downstream device isolation reduced\n"); pdev->acs_capabilities &= ~PCI_ACS_SV; }