diff --git a/[refs] b/[refs] index df5e90cbcdd9..bd6ee0219919 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1a70a05d9d2b30db3e56f8cfbebb175663b41bad +refs/heads/master: 6ed89b9574776d4178f1ad754d20e4f1e5a4b6c8 diff --git a/trunk/drivers/infiniband/hw/ipath/ipath_rc.c b/trunk/drivers/infiniband/hw/ipath/ipath_rc.c index 9e68c91130dd..f4d729d5dd1a 100644 --- a/trunk/drivers/infiniband/hw/ipath/ipath_rc.c +++ b/trunk/drivers/infiniband/hw/ipath/ipath_rc.c @@ -1257,6 +1257,7 @@ static inline void ipath_rc_rcv_resp(struct ipath_ibdev *dev, wc.dlid_path_bits = 0; wc.port_num = 0; ipath_sqerror_qp(qp, &wc); + spin_unlock_irqrestore(&qp->s_lock, flags); bail: return; } @@ -1436,7 +1437,6 @@ static inline int ipath_rc_rcv_error(struct ipath_ibdev *dev, break; } qp->r_nak_state = 0; - spin_unlock_irq(&qp->s_lock); tasklet_hi_schedule(&qp->s_task); unlock_done: