Re: [PATCH v1] PCI/DPC: Fix AER error logging for DPC/EDR triggered events

Bjorn Helgaas
2026-03-18T17:22:09Z

[+cc Sizhe]

On Wed, Mar 18, 2026 at 10:04:49AM -0700, Kuppuswamy Sathyanarayanan wrote:
> aer_print_error() skips printing if ratelimit_print[i] is not set.
> In the native AER path, ratelimit_print is initialized by
> add_error_device() during source device discovery, and is set to 1
> for fatal errors to bypass rate limiting since fatal errors should
> always be logged.
>
> The DPC/EDR path uses the DPC-capable port as the error source and
> reads its AER uncorrectable error status registers directly in
> dpc_get_aer_uncorrect_severity(). Since it does not go through
> add_error_device(), ratelimit_print[0] is left uninitialized and zero.
> As a result, aer_print_error() silently drops all AER error messages
> for DPC/EDR triggered events.
>
> Set ratelimit_print[0] to 1 to bypass rate limiting and always print
> AER logs for fatal errors.
>
> Fixes: a57f2bfb4a58 ("PCI/AER: Ratelimit correctable and non-fatal error logging")
> Co-developed-by: Goudar Manjunath Ramanagouda <manjunath.ramanagouda.goudar@intel.com>
> Signed-off-by: Goudar Manjunath Ramanagouda <manjunath.ramanagouda.goudar@intel.com>
> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>

I think this does the same as
https://git.kernel.org/cgit/linux/kernel/git/pci/pci.git/commit/?id=d4d1ecff2c2d
which is already queued for v7.1.

> ---
> drivers/pci/pcie/dpc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/pcie/dpc.c b/drivers/pci/pcie/dpc.c
> index fc18349614d7..7605ddd9f0ba 100644
> --- a/drivers/pci/pcie/dpc.c
> +++ b/drivers/pci/pcie/dpc.c
> @@ -256,6 +256,7 @@ static int dpc_get_aer_uncorrect_severity(struct pci_dev *dev,
>
> info->dev[0] = dev;
> info->error_dev_num = 1;
> + info->ratelimit_print[0] = 1;
>
> return 1;
> }
> --
> 2.43.0
>