i40e: Remove duplicated prepare call in i40e_shutdown
authorSergey Nemov <sergey.nemov@intel.com>
Thu, 19 Jul 2018 11:25:22 +0000 (13:25 +0200)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 7 Aug 2018 15:19:08 +0000 (08:19 -0700)
Function call to i40e_prep_for_reset() is duplicated in
i40e_shutdown routine and gets called before
i40e_enable_mc_magic_wake() which blocks it from being executed
correctly on system reboot or shutdown because adminq is already
disabled by first i40e_prep_for_reset() call.

Two register write calls are also duplicated.

Signed-off-by: Sergey Nemov <sergey.nemov@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index 5176242..13940e0 100644 (file)
@@ -14353,12 +14353,6 @@ static void i40e_shutdown(struct pci_dev *pdev)
 
        set_bit(__I40E_SUSPENDED, pf->state);
        set_bit(__I40E_DOWN, pf->state);
-       rtnl_lock();
-       i40e_prep_for_reset(pf, true);
-       rtnl_unlock();
-
-       wr32(hw, I40E_PFPM_APM, (pf->wol_en ? I40E_PFPM_APM_APME_MASK : 0));
-       wr32(hw, I40E_PFPM_WUFC, (pf->wol_en ? I40E_PFPM_WUFC_MAG_MASK : 0));
 
        del_timer_sync(&pf->service_timer);
        cancel_work_sync(&pf->service_task);