aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pcie
diff options
context:
space:
mode:
authorOza Pawandeep <poza@codeaurora.org>2018-07-19 17:58:09 -0500
committerBjorn Helgaas <bhelgaas@google.com>2018-07-20 15:27:12 -0500
commit10d790d99d3b42ec07d54178b291708f14af886d (patch)
tree46bfe24fe611a575ab336c2ee297da8682bcbb18 /drivers/pci/pcie
parentPCI/AER: Clear device status bits during ERR_FATAL and ERR_NONFATAL (diff)
downloadlinux-dev-10d790d99d3b42ec07d54178b291708f14af886d.tar.xz
linux-dev-10d790d99d3b42ec07d54178b291708f14af886d.zip
PCI/AER: Clear device status bits during ERR_COR handling
In case of correctable error, the Correctable Error Detected bit in the Device Status register is set. Clear it after handling the error. Signed-off-by: Oza Pawandeep <poza@codeaurora.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r--drivers/pci/pcie/aer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 2a40b24ae4e3..2b344c9e2d46 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -1001,6 +1001,7 @@ static void handle_error_source(struct pci_dev *dev, struct aer_err_info *info)
if (pos)
pci_write_config_dword(dev, pos + PCI_ERR_COR_STATUS,
info->status);
+ pci_aer_clear_device_status(dev);
} else if (info->severity == AER_NONFATAL)
pcie_do_nonfatal_recovery(dev);
else if (info->severity == AER_FATAL)