From: Akshay Jindal Date: Thu, 19 Jun 2025 18:50:30 +0000 (+0530) Subject: PCI/AER: Add message when AER_MAX_MULTI_ERR_DEVICES limit is hit X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a6f494becf09c9ebba72ed67d3728f6811daa634;p=thirdparty%2Fkernel%2Flinux.git PCI/AER: Add message when AER_MAX_MULTI_ERR_DEVICES limit is hit When a PCIe device detects an error, it logs the error locally and issues an error Message routed to the Root Complex (PCIe r6.0, sec 6.2.5). If the Root Port or RCEC supports AER and Linux has enabled the AER interrupt, aer_isr() traverses the relevant devices and adds those with AER errors logged to the aer_err_info.dev[] array for error logging and recovery. If aer_isr() finds more than AER_MAX_MULTI_ERR_DEVICES devices with AER errors logged, it silently ignores them, and those extra devices are not included in the recovery flow. Emit an error message if we find more than AER_MAX_MULTI_ERR_DEVICES devices with AER errors logged. Testing details at link below. Signed-off-by: Akshay Jindal [bhelgaas: commit log, join error message] Signed-off-by: Bjorn Helgaas Link: https://patch.msgid.link/20250619185041.73240-1-akshayaj.lkd@gmail.com --- diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index 361957502831..e286c197d716 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c @@ -1039,7 +1039,8 @@ static int find_device_iter(struct pci_dev *dev, void *data) /* List this device */ if (add_error_device(e_info, dev)) { /* We cannot handle more... Stop iteration */ - /* TODO: Should print error message here? */ + pci_err(dev, "Exceeded max supported (%d) devices with errors logged\n", + AER_MAX_MULTI_ERR_DEVICES); return 1; }