On 10/31/20 3:01 AM, Saheed Olayemi Bolarinwa wrote:
From: "Saheed O. Bolarinwa" <refactormyself@xxxxxxxxx> In the dpc_process_error() path, the error source ID is obtained but not stored inside the aer_err_info object. So aer_print_error() is not aware of the error source if it gets called. Use the obtained valued to initialise info->id
Is it useful for DPC case ? I don't think we set info->error_dev_num for DPC case right ? if (info->id && info->error_dev_num > 1 && info->id == id) 726 pci_err(dev, " Error of this Agent is reported first\n");
Signed-off-by: Saheed O. Bolarinwa <refactormyself@xxxxxxxxx> --- 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 e05aba86a317..9f8698812939 100644 --- a/drivers/pci/pcie/dpc.c +++ b/drivers/pci/pcie/dpc.c @@ -223,6 +223,7 @@ void dpc_process_error(struct pci_dev *pdev) else if (reason == 0 && dpc_get_aer_uncorrect_severity(pdev, &info) && aer_get_device_error_info(pdev, &info)) { + info.id = source; aer_print_error(pdev, &info); pci_aer_clear_nonfatal_status(pdev); pci_aer_clear_fatal_status(pdev);
-- Sathyanarayanan Kuppuswamy Linux Kernel Developer