diff options
Diffstat (limited to 'net/tipc/link.c')
-rw-r--r-- | net/tipc/link.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c index 8c81db7b17f9..2ccdb6ffd5c8 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
@@ -566,7 +566,6 @@ void tipc_link_purge_queues(struct tipc_link *l_ptr) | |||
566 | void tipc_link_reset(struct tipc_link *l_ptr) | 566 | void tipc_link_reset(struct tipc_link *l_ptr) |
567 | { | 567 | { |
568 | u32 prev_state = l_ptr->state; | 568 | u32 prev_state = l_ptr->state; |
569 | int was_active_link = tipc_link_is_active(l_ptr); | ||
570 | struct tipc_node *owner = l_ptr->owner; | 569 | struct tipc_node *owner = l_ptr->owner; |
571 | struct tipc_link *pl = tipc_parallel_link(l_ptr); | 570 | struct tipc_link *pl = tipc_parallel_link(l_ptr); |
572 | 571 | ||
@@ -584,10 +583,7 @@ void tipc_link_reset(struct tipc_link *l_ptr) | |||
584 | (prev_state == TIPC_LINK_ESTABLISHING)) | 583 | (prev_state == TIPC_LINK_ESTABLISHING)) |
585 | return; | 584 | return; |
586 | 585 | ||
587 | tipc_node_link_down(l_ptr->owner, l_ptr->bearer_id); | 586 | if (tipc_node_is_up(l_ptr->owner) && (pl != l_ptr)) { |
588 | tipc_bearer_remove_dest(owner->net, l_ptr->bearer_id, l_ptr->addr); | ||
589 | |||
590 | if (was_active_link && tipc_node_is_up(l_ptr->owner) && (pl != l_ptr)) { | ||
591 | l_ptr->exec_mode = TIPC_LINK_BLOCKED; | 587 | l_ptr->exec_mode = TIPC_LINK_BLOCKED; |
592 | l_ptr->failover_checkpt = l_ptr->rcv_nxt; | 588 | l_ptr->failover_checkpt = l_ptr->rcv_nxt; |
593 | pl->failover_pkts = FIRST_FAILOVER; | 589 | pl->failover_pkts = FIRST_FAILOVER; |