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

Lukas Wunner <[email protected]>
Newsgroups gmane.linux.ports.ppc.embedded
Message-ID <amdnMg_J6T3Sys45__18005.3057659947$1785161552$gmane$org@wunner.de>
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:
> >   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/[email protected]

-- >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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.