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.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index cd924552244b..b27439097d6c 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -346,6 +346,7 @@ static void __tipc_node_link_up(struct tipc_node *n, int bearer_id,
346 n->links[bearer_id].mtu = nl->mtu - INT_H_SIZE; 346 n->links[bearer_id].mtu = nl->mtu - INT_H_SIZE;
347 347
348 tipc_bearer_add_dest(n->net, bearer_id, n->addr); 348 tipc_bearer_add_dest(n->net, bearer_id, n->addr);
349 tipc_bcast_inc_bearer_dst_cnt(n->net, bearer_id);
349 350
350 pr_debug("Established link <%s> on network plane %c\n", 351 pr_debug("Established link <%s> on network plane %c\n",
351 nl->name, nl->net_plane); 352 nl->name, nl->net_plane);
@@ -356,7 +357,7 @@ static void __tipc_node_link_up(struct tipc_node *n, int bearer_id,
356 *slot1 = bearer_id; 357 *slot1 = bearer_id;
357 tipc_node_fsm_evt(n, SELF_ESTABL_CONTACT_EVT); 358 tipc_node_fsm_evt(n, SELF_ESTABL_CONTACT_EVT);
358 n->action_flags |= TIPC_NOTIFY_NODE_UP; 359 n->action_flags |= TIPC_NOTIFY_NODE_UP;
359 tipc_bcast_add_peer(n->net, n->addr, nl, xmitq); 360 tipc_bcast_add_peer(n->net, nl, xmitq);
360 return; 361 return;
361 } 362 }
362 363
@@ -443,8 +444,10 @@ static void __tipc_node_link_down(struct tipc_node *n, int *bearer_id,
443 tipc_link_build_reset_msg(l, xmitq); 444 tipc_link_build_reset_msg(l, xmitq);
444 *maddr = &n->links[*bearer_id].maddr; 445 *maddr = &n->links[*bearer_id].maddr;
445 node_lost_contact(n, &le->inputq); 446 node_lost_contact(n, &le->inputq);
447 tipc_bcast_dec_bearer_dst_cnt(n->net, *bearer_id);
446 return; 448 return;
447 } 449 }
450 tipc_bcast_dec_bearer_dst_cnt(n->net, *bearer_id);
448 451
449 /* There is still a working link => initiate failover */ 452 /* There is still a working link => initiate failover */
450 tnl = node_active_link(n, 0); 453 tnl = node_active_link(n, 0);
@@ -860,7 +863,7 @@ static void node_lost_contact(struct tipc_node *n,
860 tipc_addr_string_fill(addr_string, n->addr)); 863 tipc_addr_string_fill(addr_string, n->addr));
861 864
862 /* Clean up broadcast state */ 865 /* Clean up broadcast state */
863 tipc_bcast_remove_peer(n->net, n->addr, n->bc_entry.link); 866 tipc_bcast_remove_peer(n->net, n->bc_entry.link);
864 867
865 /* Abort any ongoing link failover */ 868 /* Abort any ongoing link failover */
866 for (i = 0; i < MAX_BEARERS; i++) { 869 for (i = 0; i < MAX_BEARERS; i++) {