From: Yongseok Koh Date: Tue, 19 Jun 2018 23:13:13 +0000 (-0700) Subject: net/mlx5: fix error number handling X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=5cffc8b28dc874d04df7675abf7187c271524f70;p=dpdk.git net/mlx5: fix error number handling rte_errno should be saved only if error has occurred because rte_errno could have garbage value. Fixes: a6d83b6a9209 ("net/mlx5: standardize on negative errno values") Cc: stable@dpdk.org Signed-off-by: Yongseok Koh Acked-by: Nelio Laranjeiro --- diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 994be05be6..45207d70ec 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3561,15 +3561,17 @@ wrong_flow: /* The flow does not match. */ continue; } - ret = rte_errno; /* Save rte_errno before cleanup. */ if (flow) mlx5_flow_list_destroy(dev, &priv->flows, flow); exit: + if (ret) + ret = rte_errno; /* Save rte_errno before cleanup. */ for (i = 0; i != hash_rxq_init_n; ++i) { if (parser.queue[i].ibv_attr) rte_free(parser.queue[i].ibv_attr); } - rte_errno = ret; /* Restore rte_errno. */ + if (ret) + rte_errno = ret; /* Restore rte_errno. */ return -rte_errno; }