Make sure that pcie_set_ecrc_checking() is called for each PCIe device, also when it's hot-plugged. This is done by moving pcie_set_ecrc_checking() to pci_aer_init(). Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Bjorn Helgaas <helgaas@xxxxxxxxxx> Cc: Pali Rohár <pali@xxxxxxxxxx> Cc: Bharat Kumar Gogada <bharat.kumar.gogada@xxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Yao Hongbo <yaohongbo@xxxxxxxxxxxxxxxxx> Cc: Naveen Naidu <naveennaidu479@xxxxxxxxx> --- v4: - New patch drivers/pci/pcie/aer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index 9fa1f97e5b27..5585fefc4d0e 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c @@ -387,6 +387,9 @@ void pci_aer_init(struct pci_dev *dev) pci_add_ext_cap_save_buffer(dev, PCI_EXT_CAP_ID_ERR, sizeof(u32) * n); pci_aer_clear_status(dev); + + /* Enable ECRC checking if enabled and configured */ + pcie_set_ecrc_checking(dev); } void pci_aer_exit(struct pci_dev *dev) @@ -1223,9 +1226,6 @@ static int set_device_error_reporting(struct pci_dev *dev, void *data) pci_disable_pcie_error_reporting(dev); } - if (enable) - pcie_set_ecrc_checking(dev); - return 0; } -- 2.35.0