RDMA/nes: Fix hang with modified FIN handling on A0 cards
[linux-2.6-block.git] / drivers / infiniband / hw / nes / nes_hw.c
index ba93a8be6bf6bd05374cc5230dae1a9665d96304..1980a461c49904e93102e02e655e5b033c5f92be 100644 (file)
@@ -3469,7 +3469,8 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
 
                        if (atomic_inc_return(&nesqp->close_timer_started) == 1) {
                                if ((tcp_state == NES_AEQE_TCP_STATE_CLOSE_WAIT) &&
-                                       (nesqp->ibqp_state == IB_QPS_RTS)) {
+                                       (nesqp->ibqp_state == IB_QPS_RTS) &&
+                                       ((nesadapter->eeprom_version >> 16) != NES_A0)) {
                                        spin_lock_irqsave(&nesqp->lock, flags);
                                        nesqp->hw_iwarp_state = iwarp_state;
                                        nesqp->hw_tcp_state = tcp_state;