summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/ice/ice_main.c
diff options
context:
space:
mode:
authorPrzemek Kitszel <przemyslaw.kitszel@intel.com>2025-09-12 15:06:25 +0200
committerTony Nguyen <anthony.l.nguyen@intel.com>2025-10-24 13:27:20 -0700
commitc2fb9398f73d41cb2b5da74ff505578525ee3fd8 (patch)
tree76533a8c3791614988d9c682809f13040d09890d /drivers/net/ethernet/intel/ice/ice_main.c
parentef825bdb4605742c4efc03f67d930e80c42f33cb (diff)
ice: extract ice_init_dev() from ice_init()
Extract ice_init_dev() from ice_init(), to allow service task and IRQ scheme teardown to be put after clearing SW constructs in the subsequent commit. Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_main.c')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_main.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index a4acc42fabab..9a817c3c8b99 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -5023,14 +5023,10 @@ static int ice_init(struct ice_pf *pf)
struct device *dev = ice_pf_to_dev(pf);
int err;
- err = ice_init_dev(pf);
- if (err)
- return err;
-
err = ice_init_pf(pf);
if (err) {
dev_err(dev, "ice_init_pf failed: %d\n", err);
- goto unroll_dev_init;
+ return err;
}
if (pf->hw.mac_type == ICE_MAC_E830) {
@@ -5080,8 +5076,6 @@ err_init_pf_sw:
ice_dealloc_vsis(pf);
unroll_pf_init:
ice_deinit_pf(pf);
-unroll_dev_init:
- ice_deinit_dev(pf);
return err;
}
@@ -5093,7 +5087,6 @@ static void ice_deinit(struct ice_pf *pf)
ice_deinit_pf_sw(pf);
ice_dealloc_vsis(pf);
ice_deinit_pf(pf);
- ice_deinit_dev(pf);
}
/**
@@ -5323,10 +5316,14 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
}
pf->adapter = adapter;
- err = ice_init(pf);
+ err = ice_init_dev(pf);
if (err)
goto unroll_adapter;
+ err = ice_init(pf);
+ if (err)
+ goto unroll_dev_init;
+
devl_lock(priv_to_devlink(pf));
err = ice_load(pf);
if (err)
@@ -5344,6 +5341,8 @@ unroll_load:
unroll_init:
devl_unlock(priv_to_devlink(pf));
ice_deinit(pf);
+unroll_dev_init:
+ ice_deinit_dev(pf);
unroll_adapter:
ice_adapter_put(pdev);
unroll_hw_init:
@@ -5457,6 +5456,7 @@ static void ice_remove(struct pci_dev *pdev)
devl_unlock(priv_to_devlink(pf));
ice_deinit(pf);
+ ice_deinit_dev(pf);
ice_vsi_release_all(pf);
ice_setup_mc_magic_wake(pf);