From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Lukas Wunner <lukas@wunner.de>,
Bjorn Helgaas <helgaas@kernel.org>,
Raag Jadav <raag.jadav@intel.com>,
Riana Tauro <riana.tauro@intel.com>,
Yury Murashka <yurypm@arista.com>,
Matthew W Carlis <mattc@purestorage.com>,
linux-pci@vger.kernel.org
Cc: Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Oliver OHalloran <oohall@gmail.com>,
linuxppc-dev@lists.ozlabs.org,
Aravind Iddamsetty <aravind.iddamsetty@intel.com>,
Srinivasa Adatrao <srinivasa.adatrao@intel.com>,
Terry Bowman <terry.bowman@amd.com>,
Keith Busch <kbusch@kernel.org>
Subject: Re: [PATCH 3/7] PCI/ERR: Avoid stale error status bits on recovery failure
Date: Tue, 29 Sep 2026 12:20:21 -0700 [thread overview]
Message-ID: <8af8a1ee-69bc-4819-a9dc-b3321dc4e30d@linux.intel.com> (raw)
In-Reply-To: <c7048e7dafe470f1f85709169c31b5aafe7ad59f.1790531238.git.lukas@wunner.de>
Hi,
On 9/27/2026 11:02 AM, Lukas Wunner wrote:
> From: Yury Murashka <yurypm@arista.com>
>
> pcie_do_recovery() only clears the error status bits of an error-reporting
> device if recovery succeeds, but not if it fails. (E.g. because reset
> failed, drivers are missing pci_error_handlers or those handlers failed.)
>
> One undesirable consequence is that the AER driver may subsequently
> identify a wrong device when searching for error-reporting devices in
> is_error_source(), due to stale bits on an unaffected device.
>
> Avoid by clearing error status bits on recovery failure.
>
> Link: https://lore.kernel.org/r/CAPzpGcRCTCZtaX1EVaJNZ103THZKsoszZduY7=gwfYdcrMo-SQ@mail.gmail.com/
> Signed-off-by: Yury Murashka <yurypm@arista.com>
> [lukas: drop cmdline param, rewrite commit msg, tag for stable]
> Signed-off-by: Lukas Wunner <lukas@wunner.de>
> Cc: stable@vger.kernel.org
> ---
> drivers/pci/pcie/err.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/pci/pcie/err.c b/drivers/pci/pcie/err.c
> index d77403d8855b..cfcfc7e4f10d 100644
> --- a/drivers/pci/pcie/err.c
> +++ b/drivers/pci/pcie/err.c
> @@ -284,6 +284,11 @@ pci_ers_result_t pcie_do_recovery(struct pci_dev *dev,
> return status;
>
> failed:
> + if (host->native_aer || pcie_ports_native) {
If Bjorn takes AER cleanup patch before this series, we can avoid sprinkling
pcie_ports_native checks everywhere.
https://lore.kernel.org/linux-pci/20260922204548.3884906-1-sathyanarayanan.kuppuswamy@linux.intel.com/
> + pcie_clear_device_status(dev);
> + pci_aer_clear_nonfatal_status(dev);
This only clears Non-Fatal status bits. On the success path, Fatal
status bits are cleared by pci_restore_state() -> pci_aer_clear_status(),
which drivers call from their ->slot_reset() callback. On the failure
path, that may not happen (e.g. if the reset failed or the driver lacks
pci_error_handlers).
> + }
> +
> pci_walk_bridge(bridge, pci_pm_runtime_put, NULL);
>
> pci_walk_bridge(bridge, report_perm_failure_detected, NULL);
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
next prev parent reply other threads:[~2026-09-29 19:20 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-27 18:02 [PATCH 0/7] Error reporting for AER-incapable devices Lukas Wunner
2026-09-27 18:02 ` [PATCH 1/7] PCI/DPC: Avoid access to non-existent AER capability Lukas Wunner
2026-09-27 18:27 ` sashiko-bot
2026-09-29 18:49 ` Kuppuswamy Sathyanarayanan
2026-09-27 18:02 ` [PATCH 2/7] PCI/DPC: Reinstate support for AER-incapable ports Lukas Wunner
2026-09-27 18:26 ` sashiko-bot
2026-09-29 19:04 ` Kuppuswamy Sathyanarayanan
2026-09-27 18:02 ` [PATCH 3/7] PCI/ERR: Avoid stale error status bits on recovery failure Lukas Wunner
2026-09-27 18:31 ` sashiko-bot
2026-09-27 18:57 ` Lukas Wunner
2026-09-29 19:20 ` Kuppuswamy Sathyanarayanan [this message]
2026-09-27 18:02 ` [PATCH 4/7] PCI/AER: Drop AER native check from handles_cxl_errors() Lukas Wunner
2026-09-27 18:26 ` sashiko-bot
2026-09-28 20:58 ` Bowman, Terry
2026-09-29 19:24 ` Kuppuswamy Sathyanarayanan
2026-09-27 18:02 ` [PATCH 5/7] PCI/AER: Move AER capability check out of pcie_aer_is_native() Lukas Wunner
2026-09-27 18:30 ` sashiko-bot
2026-09-29 19:47 ` Kuppuswamy Sathyanarayanan
2026-09-27 18:02 ` [PATCH 6/7] PCI/AER: Renumber severity constants Lukas Wunner
2026-09-27 18:29 ` sashiko-bot
2026-09-27 19:23 ` Lukas Wunner
2026-09-29 19:55 ` Kuppuswamy Sathyanarayanan
2026-09-27 18:02 ` [PATCH 7/7] PCI/AER: Enable baseline capability error reporting Lukas Wunner
2026-09-27 18:33 ` sashiko-bot
2026-09-29 21:01 ` Kuppuswamy Sathyanarayanan
2026-09-30 7:08 ` Lukas Wunner
2026-10-01 17:44 ` Kuppuswamy Sathyanarayanan
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=8af8a1ee-69bc-4819-a9dc-b3321dc4e30d@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=aravind.iddamsetty@intel.com \
--cc=helgaas@kernel.org \
--cc=kbusch@kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lukas@wunner.de \
--cc=mahesh@linux.ibm.com \
--cc=mattc@purestorage.com \
--cc=oohall@gmail.com \
--cc=raag.jadav@intel.com \
--cc=riana.tauro@intel.com \
--cc=srinivasa.adatrao@intel.com \
--cc=terry.bowman@amd.com \
--cc=yurypm@arista.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.