From: NĂ©lio Laranjeiro Date: Thu, 11 Jan 2018 09:25:22 +0000 (+0100) Subject: net/mlx5: fix all multi verification code position X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=da646bd93888;p=dpdk.git net/mlx5: fix all multi verification code position All multi code should not be handled in exit part of the code but in the mainline of the function. Fixes: 0a40a1363a4d ("net/mlx5: fix flow type for allmulti rules") Cc: stable@dpdk.org Signed-off-by: Nelio Laranjeiro Acked-by: Yongseok Koh --- diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 13b6483baf..20c4185368 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -1168,16 +1168,6 @@ priv_flow_convert(struct priv *priv, attr->priority + hash_rxq_init[parser->layer].flow_priority; } -exit_free: - /* Only verification is expected, all resources should be released. */ - if (!parser->create) { - for (i = 0; i != hash_rxq_init_n; ++i) { - if (parser->queue[i].ibv_attr) { - rte_free(parser->queue[i].ibv_attr); - parser->queue[i].ibv_attr = NULL; - } - } - } if (parser->allmulti && parser->layer == HASH_RXQ_ETH) { for (i = 0; i != hash_rxq_init_n; ++i) { @@ -1189,6 +1179,16 @@ exit_free: IBV_FLOW_ATTR_MC_DEFAULT; } } +exit_free: + /* Only verification is expected, all resources should be released. */ + if (!parser->create) { + for (i = 0; i != hash_rxq_init_n; ++i) { + if (parser->queue[i].ibv_attr) { + rte_free(parser->queue[i].ibv_attr); + parser->queue[i].ibv_attr = NULL; + } + } + } return ret; exit_enomem: for (i = 0; i != hash_rxq_init_n; ++i) {