ice: destroy flow director filter mutex after releasing VSIs
authorSudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Thu, 10 Mar 2022 18:46:52 +0000 (10:46 -0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 15 Mar 2022 20:36:13 +0000 (13:36 -0700)
Currently fdir_fltr_lock is accessed in ice_vsi_release_all() function
after it is destroyed. Instead destroy mutex after ice_vsi_release_all.

Fixes: 40319796b732 ("ice: Add flow director support for channel mode")
Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Tested-by: Bharathi Sreenivas <bharathi.sreenivas@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_main.c

index d4a7c39..b7e8744 100644 (file)
@@ -4880,7 +4880,6 @@ static void ice_remove(struct pci_dev *pdev)
        ice_devlink_unregister_params(pf);
        set_bit(ICE_DOWN, pf->state);
 
-       mutex_destroy(&(&pf->hw)->fdir_fltr_lock);
        ice_deinit_lag(pf);
        if (test_bit(ICE_FLAG_PTP_SUPPORTED, pf->flags))
                ice_ptp_release(pf);
@@ -4888,6 +4887,7 @@ static void ice_remove(struct pci_dev *pdev)
                ice_remove_arfs(pf);
        ice_setup_mc_magic_wake(pf);
        ice_vsi_release_all(pf);
+       mutex_destroy(&(&pf->hw)->fdir_fltr_lock);
        ice_set_wake(pf);
        ice_free_irq_msix_misc(pf);
        ice_for_each_vsi(pf, i) {