PCI/AER: Remove pci_cleanup_aer_uncorrect_error_status() calls
authorOza Pawandeep <poza@codeaurora.org>
Fri, 28 Sep 2018 18:00:56 +0000 (13:00 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 2 Oct 2018 21:04:40 +0000 (16:04 -0500)
After bfcb79fca19d ("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>
29 files changed:
drivers/crypto/qat/qat_common/adf_aer.c
drivers/dma/ioat/init.c
drivers/infiniband/hw/hfi1/pcie.c
drivers/infiniband/hw/qib/qib_pcie.c
drivers/net/ethernet/atheros/alx/main.c
drivers/net/ethernet/broadcom/bnx2.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/intel/e1000e/netdev.c
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/falcon/efx.c
drivers/nvme/host/pci.c
drivers/scsi/aacraid/linit.c
drivers/scsi/be2iscsi/be_main.c
drivers/scsi/bfa/bfad.c
drivers/scsi/csiostor/csio_init.c
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/mpt3sas/mpt3sas_scsih.c
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/qla4xxx/ql4_os.c

index 9225d06..f5e960d 100644 (file)
@@ -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;
 
index 4fa4c06..bd8db5c 100644 (file)
@@ -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;
 }
 
index 6c967dd..cca413e 100644 (file)
@@ -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
index 5ac7b31..30595b3 100644 (file)
@@ -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
index 6d32211..7968c64 100644 (file)
@@ -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;
index 122fdb8..bbb2471 100644 (file)
@@ -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;
 }
 
index 71362b7..1b1f0c1 100644 (file)
@@ -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;
 }
 
index cecbb1d..1d90f04 100644 (file)
@@ -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;
 }
 
index 961e308..2e06434 100644 (file)
@@ -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;
index 74d1226..544e2e3 100644 (file)
@@ -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;
 }
index 3ba0c90..7cd2332 100644 (file)
@@ -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;
 }
 
index 15071e4..55138d6 100644 (file)
@@ -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;
 }
 
index ac685ad..784caf3 100644 (file)
@@ -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;
 }
 
index a32c576..c7ff2f8 100644 (file)
@@ -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;
 }
 
index 9a23d33..a0f7167 100644 (file)
@@ -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;
 }
 
index 69aa7fc..200edc6 100644 (file)
@@ -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 = {
index 569d54e..635ac73 100644 (file)
@@ -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);
 }
index 2d38d1a..6b3ea53 100644 (file)
@@ -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))
index 3302332..c8e8294 100644 (file)
@@ -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;
 }
 
index dd5530a..ccdba0b 100644 (file)
@@ -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;
 }
 
index d668682..8991e79 100644 (file)
@@ -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 = {
index 0444357..1bcdd50 100644 (file)
@@ -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");
index 3660059..a3019d8 100644 (file)
@@ -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;
 }
 
index bd7e6a6..911efc9 100644 (file)
@@ -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;
 
index ed2dae6..66b230b 100644 (file)
@@ -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.
index f3cae73..0503237 100644 (file)
@@ -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);
 }
 
 /**
index 53133cf..86eaa89 100644 (file)
@@ -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);
 }
index 42b8f0d..8fe2d73 100644 (file)
@@ -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;
 }
 
index 0e13349..ab3a924 100644 (file)
@@ -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);
 }