ice: Fix safe mode when DDP is missing
authorMateusz Pacuszka <mateuszx.pacuszka@intel.com>
Wed, 11 Oct 2023 23:33:34 +0000 (16:33 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 14 Oct 2023 00:57:05 +0000 (17:57 -0700)
One thing is broken in the safe mode, that is
ice_deinit_features() is being executed even
that ice_init_features() was not causing stack
trace during pci_unregister_driver().

Add check on the top of the function.

Fixes: 5b246e533d01 ("ice: split probe into smaller functions")
Signed-off-by: Mateusz Pacuszka <mateuszx.pacuszka@intel.com>
Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Link: https://lore.kernel.org/r/20231011233334.336092-4-jacob.e.keller@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ice/ice_main.c

index 6550c46..7784135 100644 (file)
@@ -4684,6 +4684,9 @@ static void ice_init_features(struct ice_pf *pf)
 
 static void ice_deinit_features(struct ice_pf *pf)
 {
+       if (ice_is_safe_mode(pf))
+               return;
+
        ice_deinit_lag(pf);
        if (test_bit(ICE_FLAG_DCB_CAPABLE, pf->flags))
                ice_cfg_lldp_mib_change(&pf->hw, false);