net/mlx5: fix Rx queue release of resources
authorDekel Peled <dekelp@mellanox.com>
Wed, 24 Jul 2019 09:05:11 +0000 (12:05 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 24 Jul 2019 16:05:32 +0000 (18:05 +0200)
Function rxq_release_rq_resources() releases resources of RQ object
created by DevX API.

This patch updates this function to properly clear the released
resources, to avoid repeated release of the same resource.

Fixes: dc9ceff73c99 ("net/mlx5: create advanced RxQ via DevX")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
drivers/net/mlx5/mlx5_rxq.c

index c9df8b0..441f158 100644 (file)
@@ -573,8 +573,10 @@ rxq_release_rq_resources(struct mlx5_rxq_ctrl *rxq_ctrl)
                rte_free((void *)(uintptr_t)rxq_ctrl->rxq.wqes);
                rxq_ctrl->rxq.wqes = NULL;
        }
-       if (rxq_ctrl->wq_umem)
+       if (rxq_ctrl->wq_umem) {
                mlx5_glue->devx_umem_dereg(rxq_ctrl->wq_umem);
+               rxq_ctrl->wq_umem = NULL;
+       }
 }
 
 /**