Merge branches 'nes' and 'qib' into for-next
This commit is contained in:
commit
814b0a6120
|
@ -1005,7 +1005,8 @@ void qib_rc_send_complete(struct qib_qp *qp, struct qib_ib_header *hdr)
|
||||||
* there are still requests that haven't been acked.
|
* there are still requests that haven't been acked.
|
||||||
*/
|
*/
|
||||||
if ((psn & IB_BTH_REQ_ACK) && qp->s_acked != qp->s_tail &&
|
if ((psn & IB_BTH_REQ_ACK) && qp->s_acked != qp->s_tail &&
|
||||||
!(qp->s_flags & (QIB_S_TIMER | QIB_S_WAIT_RNR | QIB_S_WAIT_PSN)))
|
!(qp->s_flags & (QIB_S_TIMER | QIB_S_WAIT_RNR | QIB_S_WAIT_PSN)) &&
|
||||||
|
(ib_qib_state_ops[qp->state] & QIB_PROCESS_RECV_OK))
|
||||||
start_timer(qp);
|
start_timer(qp);
|
||||||
|
|
||||||
while (qp->s_last != qp->s_acked) {
|
while (qp->s_last != qp->s_acked) {
|
||||||
|
@ -1439,6 +1440,8 @@ static void qib_rc_rcv_resp(struct qib_ibport *ibp,
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_lock_irqsave(&qp->s_lock, flags);
|
spin_lock_irqsave(&qp->s_lock, flags);
|
||||||
|
if (!(ib_qib_state_ops[qp->state] & QIB_PROCESS_RECV_OK))
|
||||||
|
goto ack_done;
|
||||||
|
|
||||||
/* Ignore invalid responses. */
|
/* Ignore invalid responses. */
|
||||||
if (qib_cmp24(psn, qp->s_next_psn) >= 0)
|
if (qib_cmp24(psn, qp->s_next_psn) >= 0)
|
||||||
|
|
Loading…
Reference in a new issue