Skip to contentSkip to conversation

nvme-rdma: Introduce nvme_rdma_destroy_qp

PATCH Superseded Max Gurtovoy 2 participants 2 messages Nov 1, 2017 – Nov 3, 2017 NVMe

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 nvme-rdma: Introduce nvme_rdma_destroy_qp

QP object is created using rdma_cm api, therefore the destruction should use the same api for symmetry.

Signed-off-by Max Gurtovoy <maxg at mellanox.com>
---
 drivers/nvme/host/rdma.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
drivers/nvme/host/rdma.c +8 -2
index 87bac27..d955cbc 100644
@@ -267,6 +267,12 @@ static int nvme_rdma_create_qp(struct nvme_rdma_queue *queue, const int factor)
 	return ret;
 }
 
+static void nvme_rdma_destroy_qp(struct nvme_rdma_queue *queue)
+{
+	rdma_destroy_qp(queue->cm_id);
+	queue->qp = NULL;
+}
+
 static int nvme_rdma_reinit_request(void *data, struct request *rq)
 {
 	struct nvme_rdma_ctrl *ctrl = data;
@@ -439,7 +445,7 @@ static void nvme_rdma_destroy_queue_ib(struct nvme_rdma_queue *queue)
 
 	dev = queue->device;
 	ibdev = dev->dev;
-	rdma_destroy_qp(queue->cm_id);
+	nvme_rdma_destroy_qp(queue);
 	ib_free_cq(queue->ib_cq);
 
 	nvme_rdma_free_ring(ibdev, queue->rsp_ring, queue->queue_size,
@@ -493,7 +499,7 @@ static int nvme_rdma_create_queue_ib(struct nvme_rdma_queue *queue)
 	return 0;
 
 out_destroy_qp:
-	ib_destroy_qp(queue->qp);
+	nvme_rdma_destroy_qp(queue);
 out_destroy_ib_cq:
 	ib_free_cq(queue->ib_cq);
 out_put_dev:
Signature · 1 line
1.7.1
#1 lore raw

PATCH 1/1 nvme-rdma: Introduce nvme_rdma_destroy_qp

Quoted 2 lines · Max Gurtovoy

QP object is created using rdma_cm api, therefore the destruction should use the same api for symmetry.

Please resend against current nvme-4.15.