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: sta...@dpdk.org

Signed-off-by: Yongseok Koh <ys...@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 994be05be..eaffe7495 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -3561,7 +3561,8 @@ mlx5_fdir_filter_delete(struct rte_eth_dev *dev,
                /* The flow does not match. */
                continue;
        }
-       ret = rte_errno; /* Save rte_errno before cleanup. */
+       if (ret)
+               ret = rte_errno; /* Save rte_errno before cleanup. */
        if (flow)
                mlx5_flow_list_destroy(dev, &priv->flows, flow);
 exit:
-- 
2.11.0

Reply via email to