PMD did not assign rte_errno value after it discovered an error in
matcher range parameters.
As a result, the calling function was not notified about the fault.

The patch assigns EINVAL to rte_errno if matcher range definition was
invalid.

Fixes: 9732ffe13bd6 ("net/mlx5/hws: add range definer creation")

Cc: [email protected]

Signed-off-by: Gregory Etelson <[email protected]>
Acked-by: Dariusz Sosnowski <[email protected]>
---
 drivers/net/mlx5/hws/mlx5dr_definer.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c 
b/drivers/net/mlx5/hws/mlx5dr_definer.c
index a9fa5d06ed..fd0a9b15d8 100644
--- a/drivers/net/mlx5/hws/mlx5dr_definer.c
+++ b/drivers/net/mlx5/hws/mlx5dr_definer.c
@@ -4056,6 +4056,7 @@ mlx5dr_definer_matcher_range_init(struct mlx5dr_context 
*ctx,
 
                if (i && ((is_range && !has_range) || (!is_range && 
has_range))) {
                        DR_LOG(ERR, "Using range and non range templates is not 
allowed");
+                       rte_errno = EINVAL;
                        goto free_definers;
                }
 
-- 
2.43.0

Reply via email to