From: Lukas Wunner <lukas@wunner.de>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Yury Murashka <yurypm@arista.com>,
Matthew W Carlis <mattc@purestorage.com>,
Zhenzhong Duan <zhenzhong.duan@intel.com>,
Qingshun Wang <qingshun.wang@linux.intel.com>,
Yicong Yang <yang.yicong@picoheart.com>,
dio.sun@enflame-tech.com, linux-pci@vger.kernel.org,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Oliver OHalloran <oohall@gmail.com>,
linuxppc-dev@lists.ozlabs.org,
Terry Bowman <terry.bowman@amd.com>,
". Kuppuswamy Sathyanarayanan"
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Arjun Govindjee <agovindjee@purestorage.com>,
Ashish Karkare <ashishk@purestorage.com>,
Jasjeet Rangi <jrangi@purestorage.com>,
Meeta Saggi <msaggi@purestorage.com>,
rhan@purestorage.com, sconnor@purestorage.com,
an.luo@enflame-tech.com, fernando.hu@enflame-tech.com,
bill.wu@enflame-tech.com, xin.wang@enflame-tech.com
Subject: Re: [PATCH 0/6] PCI/AER: Support Advisory Non-Fatal Errors
Date: Fri, 31 Jul 2026 20:47:10 +0200 [thread overview]
Message-ID: <amztrrIGvz8gPxQb@wunner.de> (raw)
In-Reply-To: <amdnMg_J6T3Sys45@wunner.de>
On Mon, Jul 27, 2026 at 04:12:02PM +0200, Lukas Wunner wrote:
> 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!
Below please find a fixup for this finding of sashiko. With that,
I believe I have addressed all sashiko findings which are not
pre-existing issues.
This fixup is intended to be folded into the top-most commit
on pci/aer. If you prefer a proper, separate patch to apply
on top of the branch, please let me know. Same if you find
anything objectionable in this fixup.
Thanks!
-- >8 --
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 2a380bb9bfcb..dd2aa5dd4dda 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -1028,13 +1028,15 @@ int cper_severity_to_aer(int cper_severity)
EXPORT_SYMBOL_GPL(cper_severity_to_aer);
#endif
-void pci_print_aer(struct pci_dev *dev, int aer_severity,
- struct aer_capability_regs *aer)
+static void __pci_print_aer(struct pci_dev *dev, int aer_severity,
+ struct aer_capability_regs *aer,
+ bool ratelimit_print, const char* level)
{
const char *bus_type, *sev;
int tlp_header_valid = 0;
u32 status, mask;
struct aer_err_info info = {
+ .level = level,
.severity = aer_severity,
.first_error = PCI_ERR_CAP_FEP(aer->cap_control),
};
@@ -1043,12 +1045,10 @@ void pci_print_aer(struct pci_dev *dev, int aer_severity,
status = aer->cor_status;
mask = aer->cor_mask;
sev = "cor";
- info.level = KERN_WARNING;
} else {
status = aer->uncor_status;
mask = aer->uncor_mask;
sev = "uncor";
- info.level = KERN_ERR;
tlp_header_valid = tlp_header_logged(status & ~mask,
aer->cap_control);
}
@@ -1067,7 +1067,7 @@ void pci_print_aer(struct pci_dev *dev, int aer_severity,
* For Advisory Non-Fatal Errors, record statistics and tracing
* even if ratelimited
*/
- if (!aer_ratelimit(dev, info.severity))
+ if (!ratelimit_print)
goto anfe;
aer_printk(info.level, dev,
@@ -1094,10 +1094,25 @@ void pci_print_aer(struct pci_dev *dev, int aer_severity,
if (anfe_status) {
aer->uncor_status = anfe_status;
aer->uncor_mask = 0;
- pci_print_aer(dev, AER_NONFATAL, aer);
+ __pci_print_aer(dev, AER_NONFATAL, aer,
+ ratelimit_print, level);
}
}
}
+
+void pci_print_aer(struct pci_dev *dev, int aer_severity,
+ struct aer_capability_regs *aer)
+{
+ /*
+ * Precalculate ratelimit counter and log level so that Advisory
+ * Non-Fatal Errors are treated like the accompanying Correctable Error
+ */
+ bool ratelimit_print = aer_ratelimit(dev, aer_severity);
+ const char *level = aer_severity == AER_CORRECTABLE ? KERN_WARNING
+ : KERN_ERR;
+
+ __pci_print_aer(dev, aer_severity, aer, ratelimit_print, level);
+}
EXPORT_SYMBOL_GPL(pci_print_aer);
/**
next prev parent reply other threads:[~2026-07-31 18:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-24 15:24 [PATCH 0/6] PCI/AER: Support Advisory Non-Fatal Errors Lukas Wunner
2026-07-24 15:24 ` [PATCH 1/6] PCI/AER: Fix mapping of errors to agent & layer Lukas Wunner
2026-07-24 16:12 ` sashiko-bot
2026-07-24 15:24 ` [PATCH 2/6] PCI/AER: Log agent & layer for each individual error Lukas Wunner
2026-07-24 16:19 ` sashiko-bot
2026-07-24 15:24 ` [PATCH 3/6] PCI/AER: Deduplicate logging of Error Source Identification Lukas Wunner
2026-07-24 16:10 ` sashiko-bot
2026-07-24 15:24 ` [PATCH 4/6] PCI/AER: Emit TLP Log only for unmasked errors Lukas Wunner
2026-07-24 16:21 ` sashiko-bot
2026-07-24 15:24 ` [PATCH 5/6] PCI/AER: Move retrieval of FEP and TLP Log into helper Lukas Wunner
2026-07-24 16:12 ` sashiko-bot
2026-07-24 15:24 ` [PATCH 6/6] PCI/AER: Support Advisory Non-Fatal Errors Lukas Wunner
2026-07-24 16:27 ` sashiko-bot
2026-07-27 13:55 ` Lukas Wunner
2026-07-24 22:39 ` [PATCH 0/6] " Bjorn Helgaas
2026-07-27 14:12 ` Lukas Wunner
2026-07-27 15:51 ` Bjorn Helgaas
2026-07-31 18:47 ` Lukas Wunner [this message]
2026-08-01 8:24 ` Matthew W Carlis
2026-08-01 9:08 ` Lukas Wunner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=amztrrIGvz8gPxQb@wunner.de \
--to=lukas@wunner.de \
--cc=agovindjee@purestorage.com \
--cc=an.luo@enflame-tech.com \
--cc=ashishk@purestorage.com \
--cc=bill.wu@enflame-tech.com \
--cc=dio.sun@enflame-tech.com \
--cc=fernando.hu@enflame-tech.com \
--cc=helgaas@kernel.org \
--cc=jrangi@purestorage.com \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mahesh@linux.ibm.com \
--cc=mattc@purestorage.com \
--cc=msaggi@purestorage.com \
--cc=oohall@gmail.com \
--cc=qingshun.wang@linux.intel.com \
--cc=rhan@purestorage.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=sconnor@purestorage.com \
--cc=terry.bowman@amd.com \
--cc=xin.wang@enflame-tech.com \
--cc=yang.yicong@picoheart.com \
--cc=yurypm@arista.com \
--cc=zhenzhong.duan@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.