Re: [PATCH] PCI/portdev: Disable AER for Titan Ridge 4C 2018
From: Dave Jiang
Date: Tue Jan 06 2026 - 13:27:27 EST
On 1/6/26 11:20 AM, Atharva Tiwari wrote:
> Disable AER for Intel Titan Ridge 4C 2018
> (used in T2 iMacs, where the warnings appear)
> that generates continuous pcieport warnings. such as:
>
> pcieport 0000:00:1c.4: AER: Correctable error message received from 0000:07:00.0
> pcieport 0000:07:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Receiver ID)
> pcieport 0000:07:00.0: device [8086:15ea] error status/mask=00000080/00002000
> pcieport 0000:07:00.0: [ 7] BadDLLP
>
> (see: https://bugzilla.kernel.org/show_bug.cgi?id=220651)
>
> macOS also disables AER for Thunderbolt devices and controllers in their drivers.
>
> Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@xxxxxxxxx>
> ---
> drivers/pci/pcie/portdrv.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pcie/portdrv.c b/drivers/pci/pcie/portdrv.c
> index 38a41ccf79b9..5330a679fcff 100644
> --- a/drivers/pci/pcie/portdrv.c
> +++ b/drivers/pci/pcie/portdrv.c
> @@ -240,7 +240,9 @@ static int get_port_device_capability(struct pci_dev *dev)
> if ((pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT ||
> pci_pcie_type(dev) == PCI_EXP_TYPE_RC_EC) &&
> dev->aer_cap && pci_aer_available() &&
> - (pcie_ports_native || host->native_aer))
> + (pcie_ports_native || host->native_aer) &&
> + !(dev->vendor == PCI_VENDOR_ID_INTEL &&
> + (dev->device >= 0x15EA && dev->device <= 0x15EC)))
You probably want to do this as a PCI quirk rather than adding a vendor specific line in a generic function. See drivers/pci/quirks.c.
DJ
> services |= PCIE_PORT_SERVICE_AER;
> #endif
>