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 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); |