Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 31541
b: refs/heads/master
c: 7bbb15e
h: refs/heads/master
i:
  31539: 46e7739
v: v3
  • Loading branch information
Bryan O'Sullivan authored and Linus Torvalds committed Jul 1, 2006
1 parent 7cdef87 commit a2401c1
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ddd4bb22108417fdc5c35324bd13a3265581ae76
refs/heads/master: 7bbb15ea8543e2e49476a27b507be3b02828a124
52 changes: 26 additions & 26 deletions trunk/drivers/infiniband/hw/ipath/ipath_rc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1053,32 +1053,32 @@ static inline void ipath_rc_rcv_resp(struct ipath_ibdev *dev,
goto ack_done;
}
rdma_read:
if (unlikely(qp->s_state != OP(RDMA_READ_REQUEST)))
goto ack_done;
if (unlikely(tlen != (hdrsize + pmtu + 4)))
goto ack_done;
if (unlikely(pmtu >= qp->s_len))
goto ack_done;
/* We got a response so update the timeout. */
if (unlikely(qp->s_last == qp->s_tail ||
get_swqe_ptr(qp, qp->s_last)->wr.opcode !=
IB_WR_RDMA_READ))
goto ack_done;
spin_lock(&dev->pending_lock);
if (qp->s_rnr_timeout == 0 && !list_empty(&qp->timerwait))
list_move_tail(&qp->timerwait,
&dev->pending[dev->pending_index]);
spin_unlock(&dev->pending_lock);
/*
* Update the RDMA receive state but do the copy w/o holding the
* locks and blocking interrupts. XXX Yet another place that
* affects relaxed RDMA order since we don't want s_sge modified.
*/
qp->s_len -= pmtu;
qp->s_last_psn = psn;
spin_unlock_irqrestore(&qp->s_lock, flags);
ipath_copy_sge(&qp->s_sge, data, pmtu);
goto bail;
if (unlikely(qp->s_state != OP(RDMA_READ_REQUEST)))
goto ack_done;
if (unlikely(tlen != (hdrsize + pmtu + 4)))
goto ack_done;
if (unlikely(pmtu >= qp->s_len))
goto ack_done;
/* We got a response so update the timeout. */
if (unlikely(qp->s_last == qp->s_tail ||
get_swqe_ptr(qp, qp->s_last)->wr.opcode !=
IB_WR_RDMA_READ))
goto ack_done;
spin_lock(&dev->pending_lock);
if (qp->s_rnr_timeout == 0 && !list_empty(&qp->timerwait))
list_move_tail(&qp->timerwait,
&dev->pending[dev->pending_index]);
spin_unlock(&dev->pending_lock);
/*
* Update the RDMA receive state but do the copy w/o holding the
* locks and blocking interrupts. XXX Yet another place that
* affects relaxed RDMA order since we don't want s_sge modified.
*/
qp->s_len -= pmtu;
qp->s_last_psn = psn;
spin_unlock_irqrestore(&qp->s_lock, flags);
ipath_copy_sge(&qp->s_sge, data, pmtu);
goto bail;

case OP(RDMA_READ_RESPONSE_LAST):
/* ACKs READ req. */
Expand Down

0 comments on commit a2401c1

Please sign in to comment.