On Tue, Jun 19, 2018 at 04:13:13PM -0700, Yongseok Koh wrote:
> 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: [email protected]
>
> Signed-off-by: Yongseok Koh <[email protected]>
Acked-by: Nelio Laranjeiro <[email protected]>
> ---
> drivers/net/mlx5/mlx5_flow.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 994be05be..45207d70e 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -3561,15 +3561,17 @@ mlx5_fdir_filter_delete(struct rte_eth_dev *dev,
> /* 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;
> }
>
> --
> 2.11.0
--
Nélio Laranjeiro
6WIND