diff options
Diffstat (limited to 'net/tipc')
-rw-r--r-- | net/tipc/node.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c index 7c191641b44f..004834bd1605 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c | |||
@@ -565,6 +565,8 @@ void tipc_node_check_dest(struct net *net, u32 onode, | |||
565 | goto exit; | 565 | goto exit; |
566 | } | 566 | } |
567 | tipc_link_reset(l); | 567 | tipc_link_reset(l); |
568 | if (n->state == NODE_FAILINGOVER) | ||
569 | tipc_link_fsm_evt(l, LINK_FAILOVER_BEGIN_EVT); | ||
568 | le->link = l; | 570 | le->link = l; |
569 | n->link_cnt++; | 571 | n->link_cnt++; |
570 | tipc_node_calculate_timer(n, l); | 572 | tipc_node_calculate_timer(n, l); |
@@ -1129,7 +1131,7 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb, | |||
1129 | } | 1131 | } |
1130 | 1132 | ||
1131 | /* Open parallel link when tunnel link reaches synch point */ | 1133 | /* Open parallel link when tunnel link reaches synch point */ |
1132 | if ((n->state == NODE_FAILINGOVER) && !tipc_link_is_failingover(l)) { | 1134 | if ((n->state == NODE_FAILINGOVER) && tipc_link_is_up(l)) { |
1133 | if (!more(rcv_nxt, n->sync_point)) | 1135 | if (!more(rcv_nxt, n->sync_point)) |
1134 | return true; | 1136 | return true; |
1135 | tipc_node_fsm_evt(n, NODE_FAILOVER_END_EVT); | 1137 | tipc_node_fsm_evt(n, NODE_FAILOVER_END_EVT); |