[dpdk-dev] [PATCH v2] regex/mlx5: fix sq free check on enqueue

Yuval Avnery yuvalav at mellanox.com
Wed Jul 29 04:14:51 CEST 2020


Free sq check had a bug, causing jobs to overwrite.

Fixes: 8740ba5fe57f ("regex/mlx5: add enqueue implementation")
Signed-off-by: Yuval Avnery <yuvalav at mellanox.com>
Acked-by: Ori Kam <orika at mellanox.com>
---
 drivers/regex/mlx5/mlx5_regex_fastpath.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/regex/mlx5/mlx5_regex_fastpath.c b/drivers/regex/mlx5/mlx5_regex_fastpath.c
index fc5a7fc..4385d85 100644
--- a/drivers/regex/mlx5/mlx5_regex_fastpath.c
+++ b/drivers/regex/mlx5/mlx5_regex_fastpath.c
@@ -152,10 +152,7 @@ struct mlx5_regex_job {
 
 static inline int
 can_send(struct mlx5_regex_sq *sq) {
-	return unlikely(sq->ci > sq->pi) ?
-			MLX5_REGEX_MAX_WQE_INDEX + sq->pi - sq->ci <
-			sq_size_get(sq) :
-			sq->pi - sq->ci < sq_size_get(sq);
+	return ((uint16_t)(sq->pi - sq->ci) < sq_size_get(sq));
 }
 
 static inline uint32_t
-- 
1.8.3.1



More information about the dev mailing list