[openib-general] [PATCH 41 of 53] ipath - disable interrupts while holding spinlock in RWQE get

Bryan O'Sullivan bos at pathscale.com
Fri May 12 16:43:26 PDT 2006


Signed-off-by: Bryan O'Sullivan <bos at pathscale.com>

diff -r 160a111381ae -r 83f1832c6015 drivers/infiniband/hw/ipath/ipath_ruc.c
--- a/drivers/infiniband/hw/ipath/ipath_ruc.c	Fri May 12 15:55:29 2006 -0700
+++ b/drivers/infiniband/hw/ipath/ipath_ruc.c	Fri May 12 15:55:29 2006 -0700
@@ -171,12 +171,13 @@ int ipath_get_rwqe(struct ipath_qp *qp, 
 			n = rq->head - rq->tail;
 		if (n < srq->limit) {
 			srq->limit = 0;
-			spin_unlock(&rq->lock);
+			spin_unlock_irqrestore(&rq->lock, flags);
 			ev.device = qp->ibqp.device;
 			ev.element.srq = qp->ibqp.srq;
 			ev.event = IB_EVENT_SRQ_LIMIT_REACHED;
 			srq->ibsrq.event_handler(&ev,
 						 srq->ibsrq.srq_context);
+			spin_lock_irqsave(&rq->lock, flags);
 		}
 	}
 done:



More information about the general mailing list