PCI/AER: Enable error reporting when AER is native

If we have native control of AER, set the following error reporting enable
bits:

  - Correctable Error Reporting Enable
  - Non-Fatal Error Reporting Enable
  - Fatal Error Reporting Enable
  - Unsupported Request Reporting Enable

Note that these bits are all in the Device Control register and are not
AER-specific.

This affects all devices with an AER capability, including hot-added
devices.

Please note that this change is quite invasive, as error reporting now will
be enabled for all available PCIe Endpoints, which was previously not the
case.

When "pci=noaer" is selected, error reporting stays disabled of course.

[bhelgaas: commit log, note error reporting is not AER-specific]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Stefan Roese <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Reviewed-by: Pali Rohár <[email protected]>
Cc: Bharat Kumar Gogada <[email protected]>
Cc: Michal Simek <[email protected]>
Cc: Yao Hongbo <[email protected]>
Cc: Naveen Naidu <[email protected]>
This commit is contained in:
Stefan Roese authored and Bjorn Helgaas committed 2022-07-13 14:44:12 -05:00
1 parent 8795e182b0
commit f26e58bf6f
1 file changed
+3
+3
View File
@@ -393,6 +393,9 @@ void pci_aer_init(struct pci_dev *dev)
pci_aer_clear_status(dev);
if (pci_aer_available())
pci_enable_pcie_error_reporting(dev);
pcie_set_ecrc_checking(dev);
}