Thread (13 messages) flat view 13 messages, 3 authors, 6d ago

Re: [PATCH 0/6] PCI/AER: Support Advisory Non-Fatal Errors

From: Lukas Wunner <lukas@wunner.de>
Date: 2026-07-27 14:12:04
Also in: linux-pci
Subsystem: pci enhanced error handling (eeh) for powerpc, pci subsystem, the rest · Maintainers: Mahesh J Salgaonkar, Bjorn Helgaas, Linus Torvalds

On Fri, Jul 24, 2026 at 05:39:03PM -0500, Bjorn Helgaas wrote:
On Fri, Jul 24, 2026 at 05:24:00PM +0200, Lukas Wunner wrote:
quoted
  PCI/AER: Fix mapping of errors to agent & layer
  PCI/AER: Log agent & layer for each individual error
  PCI/AER: Deduplicate logging of Error Source Identification
  PCI/AER: Emit TLP Log only for unmasked errors
  PCI/AER: Move retrieval of FEP and TLP Log into helper
  PCI/AER: Support Advisory Non-Fatal Errors

 drivers/pci/pci.h      |   4 +
 drivers/pci/pcie/aer.c | 250 ++++++++++++++++++++++++++++++++---------
 2 files changed, 200 insertions(+), 54 deletions(-)
Applied to pci/aer with the intention of v7.3, thank you!

I noticed a sashiko comment on 6/6 but haven't had time to look at it
yet.  I left the series on pci/aer for build testing in the meantime.
Below is a fixup for the first valid finding reported by sashiko.
If you could fold that into the top-most commit on pci/aer,
I'd be grateful!

There is one other sashiko finding I need to address:

It complained that in the native case, Advisory Non-Fatal Errors are
reported with the same loglevel and ratelimiting as the accompanying
Correctable Error.  But that's intentional.  However in the Firmware
First case, I got that wrong in that the loglevel and ratelimiting of
non-Advisory Non-Fatal Errors is used.  I'll come back with another
fixup for that!

My rebuttal of sashiko's findings:

https://lore.kernel.org/r/amdjR8LqIY0YmiG4@wunner.de (local)

-- >8 --
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index ff6ff7abc286..2a380bb9bfcb 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -428,7 +428,7 @@ void pci_aer_init(struct pci_dev *dev)
 	 * Advisory Non-Fatal Errors are masked by default (PCIe r7.0, sec
 	 * 7.8.4.6).
 	 */
-	if (dev->devcap & PCI_EXP_DEVCAP_RBER)
+	if (pcie_aer_is_native(dev) && dev->devcap & PCI_EXP_DEVCAP_RBER)
 		pci_clear_and_set_config_dword(dev,
 					       dev->aer_cap + PCI_ERR_COR_MASK,
 					       PCI_ERR_COR_ADV_NFAT, 0);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help