|
@@ -633,7 +633,8 @@ static void aer_recover_work_func(struct work_struct *work)
|
|
|
continue;
|
|
|
}
|
|
|
cper_print_aer(pdev, entry.severity, entry.regs);
|
|
|
- do_recovery(pdev, entry.severity);
|
|
|
+ if (entry.severity != AER_CORRECTABLE)
|
|
|
+ do_recovery(pdev, entry.severity);
|
|
|
pci_dev_put(pdev);
|
|
|
}
|
|
|
}
|
|
@@ -660,7 +661,7 @@ static int get_device_error_info(struct pci_dev *dev, struct aer_err_info *info)
|
|
|
|
|
|
/* The device might not support AER */
|
|
|
if (!pos)
|
|
|
- return 1;
|
|
|
+ return 0;
|
|
|
|
|
|
if (info->severity == AER_CORRECTABLE) {
|
|
|
pci_read_config_dword(dev, pos + PCI_ERR_COR_STATUS,
|