Flow director needs only one MSI-X. Load it before RDMA to save MSI-X
for it.

Reviewed-by: Jacob Keller <jacob.e.kel...@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pu...@intel.com>
Signed-off-by: Michal Swiatkowski <michal.swiatkow...@linux.intel.com>
---
 drivers/net/ethernet/intel/ice/ice_main.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
b/drivers/net/ethernet/intel/ice/ice_main.c
index 7b9be612cf33..576bff42f440 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -5180,11 +5180,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);
@@ -5192,6 +5193,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);
@@ -5215,8 +5217,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);
-- 
2.42.0

Reply via email to