aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Roese <[email protected]>2022-01-25 08:18:18 +0100
committerBjorn Helgaas <[email protected]>2022-07-11 14:51:42 -0500
commit9ffb98f144ebdc9345f3b34fac35c4ff12ae4e50 (patch)
treec5b02b0da43a6fc97d63f79915e2cabbcfe10bb5
parent6cd514e58f12b211d638dbf6f791fa18d854f09c (diff)
PCI/AER: Configure ECRC for every device
Move pcie_set_ecrc_checking() to pci_aer_init() to make sure that pcie_set_ecrc_checking() is called for each PCIe device, including hot-added devices. 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]>
-rw-r--r--drivers/pci/pcie/aer.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 7952e5efd6cf..eb665aca08f2 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -392,6 +392,8 @@ 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);
+
+ pcie_set_ecrc_checking(dev);
}
void pci_aer_exit(struct pci_dev *dev)
@@ -1228,9 +1230,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;
}