[ofa-general] IB/ipath - fix two more spin lock problems
Ralph Campbell
ralphc at pathscale.com
Thu May 3 12:40:51 PDT 2007
IB/ipath - fix two more spin lock problems
Fix a missing unlock in ipath_rc_rcv_resp()
and remove an extra unlock from ipath_rc_rcv_error().
Signed-off-by: Ralph Campbell <ralph.campbell at qlogic.com>
diff --git a/drivers/infiniband/hw/ipath/ipath_rc.c b/drivers/infiniband/hw/ipath/ipath_rc.c
index 9e68c91..f4d729d 100644
--- a/drivers/infiniband/hw/ipath/ipath_rc.c
+++ b/drivers/infiniband/hw/ipath/ipath_rc.c
@@ -1257,6 +1257,7 @@ ack_err:
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:
More information about the general
mailing list