|
@@ -447,16 +447,16 @@ static struct srp_fr_pool *srp_alloc_fr_pool(struct srp_target_port *target)
|
|
|
|
|
|
/**
|
|
|
* srp_destroy_qp() - destroy an RDMA queue pair
|
|
|
- * @ch: SRP RDMA channel.
|
|
|
+ * @qp: RDMA queue pair.
|
|
|
*
|
|
|
* Drain the qp before destroying it. This avoids that the receive
|
|
|
* completion handler can access the queue pair while it is
|
|
|
* being destroyed.
|
|
|
*/
|
|
|
-static void srp_destroy_qp(struct srp_rdma_ch *ch)
|
|
|
+static void srp_destroy_qp(struct ib_qp *qp)
|
|
|
{
|
|
|
- ib_drain_rq(ch->qp);
|
|
|
- ib_destroy_qp(ch->qp);
|
|
|
+ ib_drain_rq(qp);
|
|
|
+ ib_destroy_qp(qp);
|
|
|
}
|
|
|
|
|
|
static int srp_create_ch_ib(struct srp_rdma_ch *ch)
|
|
@@ -529,7 +529,7 @@ static int srp_create_ch_ib(struct srp_rdma_ch *ch)
|
|
|
}
|
|
|
|
|
|
if (ch->qp)
|
|
|
- srp_destroy_qp(ch);
|
|
|
+ srp_destroy_qp(ch->qp);
|
|
|
if (ch->recv_cq)
|
|
|
ib_free_cq(ch->recv_cq);
|
|
|
if (ch->send_cq)
|
|
@@ -553,7 +553,7 @@ static int srp_create_ch_ib(struct srp_rdma_ch *ch)
|
|
|
return 0;
|
|
|
|
|
|
err_qp:
|
|
|
- srp_destroy_qp(ch);
|
|
|
+ srp_destroy_qp(qp);
|
|
|
|
|
|
err_send_cq:
|
|
|
ib_free_cq(send_cq);
|
|
@@ -596,7 +596,7 @@ static void srp_free_ch_ib(struct srp_target_port *target,
|
|
|
ib_destroy_fmr_pool(ch->fmr_pool);
|
|
|
}
|
|
|
|
|
|
- srp_destroy_qp(ch);
|
|
|
+ srp_destroy_qp(ch->qp);
|
|
|
ib_free_cq(ch->send_cq);
|
|
|
ib_free_cq(ch->recv_cq);
|
|
|
|