From: Michael Baum Date: Wed, 2 Mar 2022 19:14:31 +0000 (+0200) Subject: net/mlx5: fix E-Switch DV flow disabling X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=72d836b300b9e92201a924c4b540a68ae0570388;p=dpdk.git net/mlx5: fix E-Switch DV flow disabling E-Switch DV flow is supported only when DV flow is supported and enabled. The mlx5_shared_dev_ctx_args_config() function ensures that when the environment does not support DV, the "dv_esw_en" flag is turned off. However, when the environment is supportive but the user has requested to disable it, the "dv_esw_en" flag remains on and causes the PMD to try to create an E-Switch through the Verbs engine. This patch adds check to ensure that "dv_esw_en" flag will be turned off when DV flow is disabled. Fixes: a13ec19c1993 ("net/mlx5: add shared device context config structure") Signed-off-by: Michael Baum Acked-by: Matan Azrad --- diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 09cd1367db..72b1e35673 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1298,6 +1298,11 @@ mlx5_shared_dev_ctx_args_config(struct mlx5_dev_ctx_shared *sh, DRV_LOG(DEBUG, "E-Switch DV flow is not supported."); config->dv_esw_en = 0; } + if (config->dv_esw_en && !config->dv_flow_en) { + DRV_LOG(DEBUG, + "E-Switch DV flow is supported only when DV flow is enabled."); + config->dv_esw_en = 0; + } if (config->dv_miss_info && config->dv_esw_en) config->dv_xmeta_en = MLX5_XMETA_MODE_META16; if (!config->dv_esw_en &&