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

Bjorn Helgaas helgaas at kernel.org
Thu Mar 19 04:22:03 AEDT 2026


[+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 at intel.com>
> Signed-off-by: Goudar Manjunath Ramanagouda <manjunath.ramanagouda.goudar at intel.com>
> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy at 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
> 


More information about the Linuxppc-dev mailing list