提交 d19081e0 编写于 作者: D Dan Carpenter 提交者: Roland Dreier

RDMA/ocrdma: Tiny locking cleanup

We only need to disable the IRQs one time.
Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>

[ Rename "wq_flags" to more conventional "flags."  - Roland ]
Signed-off-by: NRoland Dreier <roland@purestorage.com>
上级 55a8d62a
......@@ -1431,7 +1431,7 @@ int ocrdma_destroy_qp(struct ib_qp *ibqp)
struct ocrdma_dev *dev;
struct ib_qp_attr attrs;
int attr_mask = IB_QP_STATE;
unsigned long wq_flags = 0, rq_flags = 0;
unsigned long flags;
qp = get_ocrdma_qp(ibqp);
dev = qp->dev;
......@@ -1453,15 +1453,15 @@ int ocrdma_destroy_qp(struct ib_qp *ibqp)
* acquire CQ lock while destroy is in progress, in order to
* protect against proessing in-flight CQEs for this QP.
*/
spin_lock_irqsave(&qp->sq_cq->cq_lock, wq_flags);
spin_lock_irqsave(&qp->sq_cq->cq_lock, flags);
if (qp->rq_cq && (qp->rq_cq != qp->sq_cq))
spin_lock_irqsave(&qp->rq_cq->cq_lock, rq_flags);
spin_lock(&qp->rq_cq->cq_lock);
ocrdma_del_qpn_map(dev, qp);
if (qp->rq_cq && (qp->rq_cq != qp->sq_cq))
spin_unlock_irqrestore(&qp->rq_cq->cq_lock, rq_flags);
spin_unlock_irqrestore(&qp->sq_cq->cq_lock, wq_flags);
spin_unlock(&qp->rq_cq->cq_lock);
spin_unlock_irqrestore(&qp->sq_cq->cq_lock, flags);
if (!pd->uctx) {
ocrdma_discard_cqes(qp, qp->sq_cq);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册