|
@@ -84,19 +84,15 @@ EXPORT_SYMBOL_GPL(pci_disable_pcie_error_reporting);
|
|
int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev)
|
|
int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev)
|
|
{
|
|
{
|
|
int pos;
|
|
int pos;
|
|
- u32 status, mask;
|
|
|
|
|
|
+ u32 status;
|
|
|
|
|
|
pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ERR);
|
|
pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ERR);
|
|
if (!pos)
|
|
if (!pos)
|
|
return -EIO;
|
|
return -EIO;
|
|
|
|
|
|
pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, &status);
|
|
pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, &status);
|
|
- pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_SEVER, &mask);
|
|
|
|
- if (dev->error_state == pci_channel_io_normal)
|
|
|
|
- status &= ~mask; /* Clear corresponding nonfatal bits */
|
|
|
|
- else
|
|
|
|
- status &= mask; /* Clear corresponding fatal bits */
|
|
|
|
- pci_write_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, status);
|
|
|
|
|
|
+ if (status)
|
|
|
|
+ pci_write_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, status);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|