summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/sw/rdmavt/qp.c
diff options
context:
space:
mode:
authorDoug Ledford2017-10-18 16:15:14 +0200
committerDoug Ledford2017-10-18 16:15:14 +0200
commite527ff92b69f0fc184b22038fd600aec7bf0ce61 (patch)
tree43b72d694e2deab25a2f9d0cd5d9cf8d381b9ae5 /drivers/infiniband/sw/rdmavt/qp.c
parentRDMA/usnic: Instantiate data structures once (diff)
parentIB/rdmavt: Don't wait for resources in QP reset (diff)
downloadkernel-qcow2-linux-e527ff92b69f0fc184b22038fd600aec7bf0ce61.tar.gz
kernel-qcow2-linux-e527ff92b69f0fc184b22038fd600aec7bf0ce61.tar.xz
kernel-qcow2-linux-e527ff92b69f0fc184b22038fd600aec7bf0ce61.zip
Merge branch 'hfi1' into k.o/for-next
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/sw/rdmavt/qp.c')
-rw-r--r--drivers/infiniband/sw/rdmavt/qp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c
index efcff7056496..9b01b7158958 100644
--- a/drivers/infiniband/sw/rdmavt/qp.c
+++ b/drivers/infiniband/sw/rdmavt/qp.c
@@ -717,7 +717,6 @@ static void rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp,
/* take qp out the hash and wait for it to be unused */
rvt_remove_qp(rdi, qp);
- wait_event(qp->wait, !atomic_read(&qp->refcount));
/* grab the lock b/c it was locked at call time */
spin_lock_irq(&qp->r_lock);
@@ -1444,6 +1443,7 @@ int rvt_destroy_qp(struct ib_qp *ibqp)
spin_unlock(&qp->s_hlock);
spin_unlock_irq(&qp->r_lock);
+ wait_event(qp->wait, !atomic_read(&qp->refcount));
/* qpn is now available for use again */
rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num);