aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/node.c')
-rw-r--r--net/tipc/node.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index 703875fd6cde..2c32a83037a3 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -1116,7 +1116,7 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb,
1116 } 1116 }
1117 1117
1118 /* Ignore duplicate packets */ 1118 /* Ignore duplicate packets */
1119 if (less(oseqno, rcv_nxt)) 1119 if ((usr != LINK_PROTOCOL) && less(oseqno, rcv_nxt))
1120 return true; 1120 return true;
1121 1121
1122 /* Initiate or update failover mode if applicable */ 1122 /* Initiate or update failover mode if applicable */
@@ -1146,8 +1146,8 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb,
1146 if (!pl || !tipc_link_is_up(pl)) 1146 if (!pl || !tipc_link_is_up(pl))
1147 return true; 1147 return true;
1148 1148
1149 /* Initiate or update synch mode if applicable */ 1149 /* Initiate synch mode if applicable */
1150 if ((usr == TUNNEL_PROTOCOL) && (mtyp == SYNCH_MSG)) { 1150 if ((usr == TUNNEL_PROTOCOL) && (mtyp == SYNCH_MSG) && (oseqno == 1)) {
1151 syncpt = iseqno + exp_pkts - 1; 1151 syncpt = iseqno + exp_pkts - 1;
1152 if (!tipc_link_is_up(l)) { 1152 if (!tipc_link_is_up(l)) {
1153 tipc_link_fsm_evt(l, LINK_ESTABLISH_EVT); 1153 tipc_link_fsm_evt(l, LINK_ESTABLISH_EVT);