diff options
author | Oza Pawandeep <poza@codeaurora.org> | 2018-07-20 01:58:06 +0300 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2018-07-20 23:27:09 +0300 |
commit | 5b6c09660da8779dd545fa717c2b0cc79d477c9e (patch) | |
tree | ebc8d20816c9c77d0543de52293bd9b627a6b45b /drivers/pci/pcie | |
parent | e7b0b847de6db161e3917732276e425bc92a2feb (diff) | |
download | linux-5b6c09660da8779dd545fa717c2b0cc79d477c9e.tar.xz |
PCI/AER: Factor out ERR_NONFATAL status bit clearing
aer_error_resume() clears all ERR_NONFATAL error status bits. This is
exactly what pci_cleanup_aer_uncorrect_error_status(), so use that instead
of duplicating the code.
Signed-off-by: Oza Pawandeep <poza@codeaurora.org>
[bhelgaas: split to separate patch]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r-- | drivers/pci/pcie/aer.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index f853e72524be..4411ada4a91c 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c @@ -1532,20 +1532,13 @@ static pci_ers_result_t aer_root_reset(struct pci_dev *dev) */ static void aer_error_resume(struct pci_dev *dev) { - int pos; - u32 status, mask; u16 reg16; /* Clean up Root device status */ pcie_capability_read_word(dev, PCI_EXP_DEVSTA, ®16); pcie_capability_write_word(dev, PCI_EXP_DEVSTA, reg16); - /* Clean AER Root Error Status */ - pos = dev->aer_cap; - pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, &status); - pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_SEVER, &mask); - status &= ~mask; /* Clear corresponding nonfatal bits */ - pci_write_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, status); + pci_cleanup_aer_uncorrect_error_status(dev); } static struct pcie_port_service_driver aerdriver = { |