]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ice: init flow director before RDMA
authorMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tue, 3 Dec 2024 06:58:17 +0000 (07:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 May 2025 09:13:38 +0000 (11:13 +0200)
[ Upstream commit d67627e7b53203ca150e54723abbed81a0716286 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/ice/ice_main.c

index e13bd5a6cb6c4e92eb73596152071c9ac3a3664f..d24d46b24e371179b0d0406d0933b54ce322c289 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);