forked from luck/tmp_suning_uos_patched
PCI/AER: Remove pci_cleanup_aer_uncorrect_error_status() calls
After bfcb79fca1
("PCI/ERR: Run error recovery callbacks for all affected
devices"), AER errors are always cleared by the PCI core and drivers don't
need to do it themselves.
Remove calls to pci_cleanup_aer_uncorrect_error_status() from device
driver error recovery functions.
Signed-off-by: Oza Pawandeep <poza@codeaurora.org>
[bhelgaas: changelog, remove PCI core changes, remove unused variables]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
74171e9dab
commit
62b36c3ea6
|
@ -198,7 +198,6 @@ static pci_ers_result_t adf_slot_reset(struct pci_dev *pdev)
|
|||
pr_err("QAT: Can't find acceleration device\n");
|
||||
return PCI_ERS_RESULT_DISCONNECT;
|
||||
}
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (adf_dev_aer_schedule_reset(accel_dev, ADF_DEV_RESET_SYNC))
|
||||
return PCI_ERS_RESULT_DISCONNECT;
|
||||
|
||||
|
|
|
@ -1252,7 +1252,6 @@ static pci_ers_result_t ioat_pcie_error_detected(struct pci_dev *pdev,
|
|||
static pci_ers_result_t ioat_pcie_error_slot_reset(struct pci_dev *pdev)
|
||||
{
|
||||
pci_ers_result_t result = PCI_ERS_RESULT_RECOVERED;
|
||||
int err;
|
||||
|
||||
dev_dbg(&pdev->dev, "%s post reset handling\n", DRV_NAME);
|
||||
|
||||
|
@ -1267,12 +1266,6 @@ static pci_ers_result_t ioat_pcie_error_slot_reset(struct pci_dev *pdev)
|
|||
pci_wake_from_d3(pdev, false);
|
||||
}
|
||||
|
||||
err = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"AER uncorrect error status clear failed: %#x\n", err);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -650,7 +650,6 @@ pci_resume(struct pci_dev *pdev)
|
|||
struct hfi1_devdata *dd = pci_get_drvdata(pdev);
|
||||
|
||||
dd_dev_info(dd, "HFI1 resume function called\n");
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
/*
|
||||
* Running jobs will fail, since it's asynchronous
|
||||
* unlike sysfs-requested reset. Better than
|
||||
|
|
|
@ -597,7 +597,6 @@ qib_pci_resume(struct pci_dev *pdev)
|
|||
struct qib_devdata *dd = pci_get_drvdata(pdev);
|
||||
|
||||
qib_devinfo(pdev, "QIB resume function called\n");
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
/*
|
||||
* Running jobs will fail, since it's asynchronous
|
||||
* unlike sysfs-requested reset. Better than
|
||||
|
|
|
@ -1964,8 +1964,6 @@ static pci_ers_result_t alx_pci_error_slot_reset(struct pci_dev *pdev)
|
|||
if (!alx_reset_mac(hw))
|
||||
rc = PCI_ERS_RESULT_RECOVERED;
|
||||
out:
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
rtnl_unlock();
|
||||
|
||||
return rc;
|
||||
|
|
|
@ -8793,13 +8793,6 @@ static pci_ers_result_t bnx2_io_slot_reset(struct pci_dev *pdev)
|
|||
if (!(bp->flags & BNX2_FLAG_AER_ENABLED))
|
||||
return result;
|
||||
|
||||
err = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"pci_cleanup_aer_uncorrect_error_status failed 0x%0x\n",
|
||||
err); /* non-fatal, continue */
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -14385,14 +14385,6 @@ static pci_ers_result_t bnx2x_io_slot_reset(struct pci_dev *pdev)
|
|||
|
||||
rtnl_unlock();
|
||||
|
||||
/* If AER, perform cleanup of the PCIe registers */
|
||||
if (bp->flags & AER_ENABLED) {
|
||||
if (pci_cleanup_aer_uncorrect_error_status(pdev))
|
||||
BNX2X_ERR("pci_cleanup_aer_uncorrect_error_status failed\n");
|
||||
else
|
||||
DP(NETIF_MSG_HW, "pci_cleanup_aer_uncorrect_error_status succeeded\n");
|
||||
}
|
||||
|
||||
return PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
|
|
|
@ -9231,13 +9231,6 @@ static pci_ers_result_t bnxt_io_slot_reset(struct pci_dev *pdev)
|
|||
|
||||
rtnl_unlock();
|
||||
|
||||
err = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"pci_cleanup_aer_uncorrect_error_status failed 0x%0x\n",
|
||||
err); /* non-fatal, continue */
|
||||
}
|
||||
|
||||
return PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
|
|
|
@ -4747,7 +4747,6 @@ static pci_ers_result_t eeh_slot_reset(struct pci_dev *pdev)
|
|||
pci_set_master(pdev);
|
||||
pci_restore_state(pdev);
|
||||
pci_save_state(pdev);
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
if (t4_wait_dev_ready(adap->regs) < 0)
|
||||
return PCI_ERS_RESULT_DISCONNECT;
|
||||
|
|
|
@ -6151,7 +6151,6 @@ static pci_ers_result_t be_eeh_reset(struct pci_dev *pdev)
|
|||
if (status)
|
||||
return PCI_ERS_RESULT_DISCONNECT;
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
be_clear_error(adapter, BE_CLEAR_ALL);
|
||||
return PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
|
|
@ -6854,8 +6854,6 @@ static pci_ers_result_t e1000_io_slot_reset(struct pci_dev *pdev)
|
|||
result = PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -2462,8 +2462,6 @@ static pci_ers_result_t fm10k_io_slot_reset(struct pci_dev *pdev)
|
|||
result = PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -14227,7 +14227,6 @@ static pci_ers_result_t i40e_pci_error_slot_reset(struct pci_dev *pdev)
|
|||
{
|
||||
struct i40e_pf *pf = pci_get_drvdata(pdev);
|
||||
pci_ers_result_t result;
|
||||
int err;
|
||||
u32 reg;
|
||||
|
||||
dev_dbg(&pdev->dev, "%s\n", __func__);
|
||||
|
@ -14248,14 +14247,6 @@ static pci_ers_result_t i40e_pci_error_slot_reset(struct pci_dev *pdev)
|
|||
result = PCI_ERS_RESULT_DISCONNECT;
|
||||
}
|
||||
|
||||
err = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (err) {
|
||||
dev_info(&pdev->dev,
|
||||
"pci_cleanup_aer_uncorrect_error_status failed 0x%0x\n",
|
||||
err);
|
||||
/* non-fatal, continue */
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -9116,7 +9116,6 @@ static pci_ers_result_t igb_io_slot_reset(struct pci_dev *pdev)
|
|||
struct igb_adapter *adapter = netdev_priv(netdev);
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
pci_ers_result_t result;
|
||||
int err;
|
||||
|
||||
if (pci_enable_device_mem(pdev)) {
|
||||
dev_err(&pdev->dev,
|
||||
|
@ -9140,14 +9139,6 @@ static pci_ers_result_t igb_io_slot_reset(struct pci_dev *pdev)
|
|||
result = PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
err = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"pci_cleanup_aer_uncorrect_error_status failed 0x%0x\n",
|
||||
err);
|
||||
/* non-fatal, continue */
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -11075,8 +11075,6 @@ static pci_ers_result_t ixgbe_io_error_detected(struct pci_dev *pdev,
|
|||
/* Free device reference count */
|
||||
pci_dev_put(vfdev);
|
||||
}
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -11126,7 +11124,6 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)
|
|||
{
|
||||
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
|
||||
pci_ers_result_t result;
|
||||
int err;
|
||||
|
||||
if (pci_enable_device_mem(pdev)) {
|
||||
e_err(probe, "Cannot re-enable PCI device after reset.\n");
|
||||
|
@ -11146,13 +11143,6 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)
|
|||
result = PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
err = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (err) {
|
||||
e_dev_err("pci_cleanup_aer_uncorrect_error_status "
|
||||
"failed 0x%0x\n", err);
|
||||
/* non-fatal, continue */
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -1790,11 +1790,6 @@ static pci_ers_result_t netxen_io_slot_reset(struct pci_dev *pdev)
|
|||
return err ? PCI_ERS_RESULT_DISCONNECT : PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
static void netxen_io_resume(struct pci_dev *pdev)
|
||||
{
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
}
|
||||
|
||||
static void netxen_nic_shutdown(struct pci_dev *pdev)
|
||||
{
|
||||
struct netxen_adapter *adapter = pci_get_drvdata(pdev);
|
||||
|
@ -3488,7 +3483,6 @@ netxen_free_ip_list(struct netxen_adapter *adapter, bool master)
|
|||
static const struct pci_error_handlers netxen_err_handler = {
|
||||
.error_detected = netxen_io_error_detected,
|
||||
.slot_reset = netxen_io_slot_reset,
|
||||
.resume = netxen_io_resume,
|
||||
};
|
||||
|
||||
static struct pci_driver netxen_driver = {
|
||||
|
|
|
@ -4232,7 +4232,6 @@ static void qlcnic_83xx_io_resume(struct pci_dev *pdev)
|
|||
{
|
||||
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (test_and_clear_bit(__QLCNIC_AER, &adapter->state))
|
||||
qlcnic_83xx_aer_start_poll_work(adapter);
|
||||
}
|
||||
|
|
|
@ -3975,7 +3975,6 @@ static void qlcnic_82xx_io_resume(struct pci_dev *pdev)
|
|||
u32 state;
|
||||
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
|
||||
if (state == QLCNIC_DEV_READY && test_and_clear_bit(__QLCNIC_AER,
|
||||
&adapter->state))
|
||||
|
|
|
@ -3847,7 +3847,6 @@ static pci_ers_result_t efx_io_slot_reset(struct pci_dev *pdev)
|
|||
{
|
||||
struct efx_nic *efx = pci_get_drvdata(pdev);
|
||||
pci_ers_result_t status = PCI_ERS_RESULT_RECOVERED;
|
||||
int rc;
|
||||
|
||||
if (pci_enable_device(pdev)) {
|
||||
netif_err(efx, hw, efx->net_dev,
|
||||
|
@ -3855,13 +3854,6 @@ static pci_ers_result_t efx_io_slot_reset(struct pci_dev *pdev)
|
|||
status = PCI_ERS_RESULT_DISCONNECT;
|
||||
}
|
||||
|
||||
rc = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (rc) {
|
||||
netif_err(efx, hw, efx->net_dev,
|
||||
"pci_cleanup_aer_uncorrect_error_status failed (%d)\n", rc);
|
||||
/* Non-fatal error. Continue. */
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
|
@ -3186,7 +3186,6 @@ static pci_ers_result_t ef4_io_slot_reset(struct pci_dev *pdev)
|
|||
{
|
||||
struct ef4_nic *efx = pci_get_drvdata(pdev);
|
||||
pci_ers_result_t status = PCI_ERS_RESULT_RECOVERED;
|
||||
int rc;
|
||||
|
||||
if (pci_enable_device(pdev)) {
|
||||
netif_err(efx, hw, efx->net_dev,
|
||||
|
@ -3194,13 +3193,6 @@ static pci_ers_result_t ef4_io_slot_reset(struct pci_dev *pdev)
|
|||
status = PCI_ERS_RESULT_DISCONNECT;
|
||||
}
|
||||
|
||||
rc = pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
if (rc) {
|
||||
netif_err(efx, hw, efx->net_dev,
|
||||
"pci_cleanup_aer_uncorrect_error_status failed (%d)\n", rc);
|
||||
/* Non-fatal error. Continue. */
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
|
@ -2649,7 +2649,6 @@ static void nvme_error_resume(struct pci_dev *pdev)
|
|||
struct nvme_dev *dev = pci_get_drvdata(pdev);
|
||||
|
||||
flush_work(&dev->ctrl.reset_work);
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
}
|
||||
|
||||
static const struct pci_error_handlers nvme_err_handler = {
|
||||
|
|
|
@ -2055,8 +2055,6 @@ static void aac_pci_resume(struct pci_dev *pdev)
|
|||
struct scsi_device *sdev = NULL;
|
||||
struct aac_dev *aac = (struct aac_dev *)shost_priv(shost);
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
if (aac_adapter_ioremap(aac, aac->base_size)) {
|
||||
|
||||
dev_err(&pdev->dev, "aacraid: ioremap failed\n");
|
||||
|
|
|
@ -5529,7 +5529,6 @@ static pci_ers_result_t beiscsi_eeh_reset(struct pci_dev *pdev)
|
|||
return PCI_ERS_RESULT_DISCONNECT;
|
||||
}
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
return PCI_ERS_RESULT_RECOVERED;
|
||||
}
|
||||
|
||||
|
|
|
@ -1569,8 +1569,6 @@ bfad_pci_slot_reset(struct pci_dev *pdev)
|
|||
if (pci_set_dma_mask(bfad->pcidev, DMA_BIT_MASK(32)) != 0)
|
||||
goto out_disable_device;
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
if (restart_bfa(bfad) == -1)
|
||||
goto out_disable_device;
|
||||
|
||||
|
|
|
@ -1102,7 +1102,6 @@ csio_pci_slot_reset(struct pci_dev *pdev)
|
|||
pci_set_master(pdev);
|
||||
pci_restore_state(pdev);
|
||||
pci_save_state(pdev);
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
/* Bring HW s/m to ready state.
|
||||
* but don't resume IOs.
|
||||
|
|
|
@ -11329,10 +11329,6 @@ lpfc_io_resume_s3(struct pci_dev *pdev)
|
|||
|
||||
/* Bring device online, it will be no-op for non-fatal error resume */
|
||||
lpfc_online(phba);
|
||||
|
||||
/* Clean up Advanced Error Reporting (AER) if needed */
|
||||
if (phba->hba_flag & HBA_AER_ENABLED)
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -12144,10 +12140,6 @@ lpfc_io_resume_s4(struct pci_dev *pdev)
|
|||
/* Bring the device back online */
|
||||
lpfc_online(phba);
|
||||
}
|
||||
|
||||
/* Clean up Advanced Error Reporting (AER) if needed */
|
||||
if (phba->hba_flag & HBA_AER_ENABLED)
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -10828,7 +10828,6 @@ scsih_pci_resume(struct pci_dev *pdev)
|
|||
|
||||
pr_info(MPT3SAS_FMT "PCI error: resume callback!!\n", ioc->name);
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
mpt3sas_base_start_watchdog(ioc);
|
||||
scsi_unblock_requests(ioc->shost);
|
||||
}
|
||||
|
|
|
@ -6839,8 +6839,6 @@ qla2xxx_pci_resume(struct pci_dev *pdev)
|
|||
"The device failed to resume I/O from slot/link_reset.\n");
|
||||
}
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
|
||||
ha->flags.eeh_busy = 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -9824,7 +9824,6 @@ qla4xxx_pci_resume(struct pci_dev *pdev)
|
|||
__func__);
|
||||
}
|
||||
|
||||
pci_cleanup_aer_uncorrect_error_status(pdev);
|
||||
clear_bit(AF_EEH_BUSY, &ha->flags);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user