diff options
Diffstat (limited to 'net/tipc/node.c')
-rw-r--r-- | net/tipc/node.c | 6 |
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); |