summaryrefslogtreecommitdiff
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorRalph Campbell <ralphc@pathscale.com>2007-05-03 12:40:51 -0700
committerRoland Dreier <rolandd@cisco.com>2007-05-06 21:18:11 -0700
commit6ed89b9574776d4178f1ad754d20e4f1e5a4b6c8 (patch)
tree6aafb2518c2cf83566ef7276b9d4424b8dd31207 /drivers/infiniband
parent1a70a05d9d2b30db3e56f8cfbebb175663b41bad (diff)
downloadlwn-6ed89b9574776d4178f1ad754d20e4f1e5a4b6c8.tar.gz
lwn-6ed89b9574776d4178f1ad754d20e4f1e5a4b6c8.zip
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@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_rc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_rc.c b/drivers/infiniband/hw/ipath/ipath_rc.c
index 9e68c91130dd..f4d729d5dd1a 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: