aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/nes/nes_cm.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
index b139806a9667..4acf04a03e1c 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -1354,13 +1354,20 @@ static void handle_fin_pkt(struct nes_cm_node *cm_node)
1354 case NES_CM_STATE_SYN_RCVD: 1354 case NES_CM_STATE_SYN_RCVD:
1355 case NES_CM_STATE_SYN_SENT: 1355 case NES_CM_STATE_SYN_SENT:
1356 case NES_CM_STATE_ESTABLISHED: 1356 case NES_CM_STATE_ESTABLISHED:
1357 case NES_CM_STATE_MPAREQ_SENT:
1358 case NES_CM_STATE_MPAREJ_RCVD: 1357 case NES_CM_STATE_MPAREJ_RCVD:
1359 cm_node->tcp_cntxt.rcv_nxt++; 1358 cm_node->tcp_cntxt.rcv_nxt++;
1360 cleanup_retrans_entry(cm_node); 1359 cleanup_retrans_entry(cm_node);
1361 cm_node->state = NES_CM_STATE_LAST_ACK; 1360 cm_node->state = NES_CM_STATE_LAST_ACK;
1362 send_fin(cm_node, NULL); 1361 send_fin(cm_node, NULL);
1363 break; 1362 break;
1363 case NES_CM_STATE_MPAREQ_SENT:
1364 create_event(cm_node, NES_CM_EVENT_ABORTED);
1365 cm_node->tcp_cntxt.rcv_nxt++;
1366 cleanup_retrans_entry(cm_node);
1367 cm_node->state = NES_CM_STATE_CLOSED;
1368 add_ref_cm_node(cm_node);
1369 send_reset(cm_node, NULL);
1370 break;
1364 case NES_CM_STATE_FIN_WAIT1: 1371 case NES_CM_STATE_FIN_WAIT1:
1365 cm_node->tcp_cntxt.rcv_nxt++; 1372 cm_node->tcp_cntxt.rcv_nxt++;
1366 cleanup_retrans_entry(cm_node); 1373 cleanup_retrans_entry(cm_node);