net/mlx5: fix release of Rx queue object
authorDekel Peled <dekelp@mellanox.com>
Tue, 7 May 2019 07:26:02 +0000 (10:26 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 8 May 2019 15:29:31 +0000 (17:29 +0200)
Function mlx5_rx_intr_disable() calls mlx5_rxq_ibv_get() and performs
some actions on the returned rxq_ibv.
It doesn't release the rxq_ibv when all is completed with success.

This patch adds call to mlx5_rxq_ibv_release() where it's missing.

Fixes: 09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects")
Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
drivers/net/mlx5/mlx5_rxq.c

index 85e6f29..a00cb12 100644 (file)
@@ -730,6 +730,7 @@ mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id)
        }
        rxq_data->cq_arm_sn++;
        mlx5_glue->ack_cq_events(rxq_ibv->cq, 1);
+       mlx5_rxq_ibv_release(rxq_ibv);
        return 0;
 exit:
        ret = rte_errno; /* Save rte_errno before cleanup. */