ice: init flow director before RDMA
authorMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tue, 3 Dec 2024 06:58:17 +0000 (07:58 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 5 Feb 2025 17:04:58 +0000 (09:04 -0800)
Flow director needs only one MSI-X. Load it before RDMA to save MSI-X
for it.

Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com>
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_main.c

index c3a0fb97c5ee4f3410b8ba7534731fda328f682e..d7037de29545f03c87ba921015a617ca0d65abef 100644 (file)
@@ -5186,11 +5186,12 @@ int ice_load(struct ice_pf *pf)
 
        ice_napi_add(vsi);
 
+       ice_init_features(pf);
+
        err = ice_init_rdma(pf);
        if (err)
                goto err_init_rdma;
 
-       ice_init_features(pf);
        ice_service_task_restart(pf);
 
        clear_bit(ICE_DOWN, pf->state);
@@ -5198,6 +5199,7 @@ int ice_load(struct ice_pf *pf)
        return 0;
 
 err_init_rdma:
+       ice_deinit_features(pf);
        ice_tc_indir_block_unregister(vsi);
 err_tc_indir_block_register:
        ice_unregister_netdev(vsi);
@@ -5221,8 +5223,8 @@ void ice_unload(struct ice_pf *pf)
 
        devl_assert_locked(priv_to_devlink(pf));
 
-       ice_deinit_features(pf);
        ice_deinit_rdma(pf);
+       ice_deinit_features(pf);
        ice_tc_indir_block_unregister(vsi);
        ice_unregister_netdev(vsi);
        ice_devlink_destroy_pf_port(pf);