diff options
| author | Tony Lindgren <tony@atomide.com> | 2011-03-02 17:07:14 -0800 | 
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2011-03-02 17:07:14 -0800 | 
| commit | 12d7d4e0ed8fecf7f74c89483b55b300be6e5901 (patch) | |
| tree | f573761ac752ff04ec445e23aef50adadda49790 /drivers/infiniband/hw/qib/qib_rc.c | |
| parent | aca6ad073ea820776bf5bdb87cf82eace35042c8 (diff) | |
| parent | 790ab7e92bec24aee3939b300d36b99ab2e3f3ca (diff) | |
| download | olio-linux-3.10-12d7d4e0ed8fecf7f74c89483b55b300be6e5901.tar.xz olio-linux-3.10-12d7d4e0ed8fecf7f74c89483b55b300be6e5901.zip  | |
Merge branch 'devel-cleanup' into omap-for-linus
Conflicts:
	arch/arm/mach-omap2/timer-gp.c
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_rc.c')
| -rw-r--r-- | drivers/infiniband/hw/qib/qib_rc.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qib/qib_rc.c b/drivers/infiniband/hw/qib/qib_rc.c index 8245237b67c..eca0c41f122 100644 --- a/drivers/infiniband/hw/qib/qib_rc.c +++ b/drivers/infiniband/hw/qib/qib_rc.c @@ -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.  	 */  	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);  	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); +	if (!(ib_qib_state_ops[qp->state] & QIB_PROCESS_RECV_OK)) +		goto ack_done;  	/* Ignore invalid responses. */  	if (qib_cmp24(psn, qp->s_next_psn) >= 0)  |