In ASO SQ creation, the PMD allocates umem buffer for SQ.

When umem buffer allocation is fails, the MR and CQ memory are not freed
what caused a memory leak.

Free it.

Fixes: f935ed4b645a ("net/mlx5: support flow hit action for aging")
Cc: sta...@dpdk.org

Signed-off-by: Michael Baum <michae...@nvidia.com>
Acked-by: Matan Azrad <ma...@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_age.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow_age.c b/drivers/net/mlx5/mlx5_flow_age.c
index cea2cf7..0ea61be 100644
--- a/drivers/net/mlx5/mlx5_flow_age.c
+++ b/drivers/net/mlx5/mlx5_flow_age.c
@@ -278,7 +278,8 @@
                                   sizeof(*sq->db_rec) * 2, 4096, socket);
        if (!sq->umem_buf) {
                DRV_LOG(ERR, "Can't allocate wqe buffer.");
-               return -ENOMEM;
+               rte_errno = ENOMEM;
+               goto error;
        }
        sq->wqe_umem = mlx5_glue->devx_umem_reg(ctx,
                                                (void *)(uintptr_t)sq->umem_buf,
-- 
1.8.3.1

Reply via email to