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 d1f340116c84..2670751d0e2e 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -1133,7 +1133,7 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb,
1133 } 1133 }
1134 1134
1135 /* Ignore duplicate packets */ 1135 /* Ignore duplicate packets */
1136 if (less(oseqno, rcv_nxt)) 1136 if ((usr != LINK_PROTOCOL) && less(oseqno, rcv_nxt))
1137 return true; 1137 return true;
1138 1138
1139 /* Initiate or update failover mode if applicable */ 1139 /* Initiate or update failover mode if applicable */
@@ -1163,8 +1163,8 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb,
1163 if (!pl || !tipc_link_is_up(pl)) 1163 if (!pl || !tipc_link_is_up(pl))
1164 return true; 1164 return true;
1165 1165
1166 /* Initiate or update synch mode if applicable */ 1166 /* Initiate synch mode if applicable */
1167 if ((usr == TUNNEL_PROTOCOL) && (mtyp == SYNCH_MSG)) { 1167 if ((usr == TUNNEL_PROTOCOL) && (mtyp == SYNCH_MSG) && (oseqno == 1)) {
1168 syncpt = iseqno + exp_pkts - 1; 1168 syncpt = iseqno + exp_pkts - 1;
1169 if (!tipc_link_is_up(l)) { 1169 if (!tipc_link_is_up(l)) {
1170 tipc_link_fsm_evt(l, LINK_ESTABLISH_EVT); 1170 tipc_link_fsm_evt(l, LINK_ESTABLISH_EVT);