diff options
Diffstat (limited to 'net/tipc/node.c')
| -rw-r--r-- | net/tipc/node.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c index d21db204e25a..48f39dd3eae8 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * net/tipc/node.c: TIPC node management routines | 2 | * net/tipc/node.c: TIPC node management routines |
| 3 | * | 3 | * |
| 4 | * Copyright (c) 2000-2006, Ericsson AB | 4 | * Copyright (c) 2000-2006, 2012 Ericsson AB |
| 5 | * Copyright (c) 2005-2006, 2010-2011, Wind River Systems | 5 | * Copyright (c) 2005-2006, 2010-2011, Wind River Systems |
| 6 | * All rights reserved. | 6 | * All rights reserved. |
| 7 | * | 7 | * |
| @@ -263,12 +263,9 @@ void tipc_node_detach_link(struct tipc_node *n_ptr, struct tipc_link *l_ptr) | |||
| 263 | static void node_established_contact(struct tipc_node *n_ptr) | 263 | static void node_established_contact(struct tipc_node *n_ptr) |
| 264 | { | 264 | { |
| 265 | tipc_k_signal((Handler)tipc_named_node_up, n_ptr->addr); | 265 | tipc_k_signal((Handler)tipc_named_node_up, n_ptr->addr); |
| 266 | 266 | n_ptr->bclink.oos_state = 0; | |
| 267 | if (n_ptr->bclink.supportable) { | 267 | n_ptr->bclink.acked = tipc_bclink_get_last_sent(); |
| 268 | n_ptr->bclink.acked = tipc_bclink_get_last_sent(); | 268 | tipc_bclink_add_node(n_ptr->addr); |
| 269 | tipc_bclink_add_node(n_ptr->addr); | ||
| 270 | n_ptr->bclink.supported = 1; | ||
| 271 | } | ||
| 272 | } | 269 | } |
| 273 | 270 | ||
| 274 | static void node_name_purge_complete(unsigned long node_addr) | 271 | static void node_name_purge_complete(unsigned long node_addr) |
| @@ -294,7 +291,7 @@ static void node_lost_contact(struct tipc_node *n_ptr) | |||
| 294 | tipc_addr_string_fill(addr_string, n_ptr->addr)); | 291 | tipc_addr_string_fill(addr_string, n_ptr->addr)); |
| 295 | 292 | ||
| 296 | /* Flush broadcast link info associated with lost node */ | 293 | /* Flush broadcast link info associated with lost node */ |
| 297 | if (n_ptr->bclink.supported) { | 294 | if (n_ptr->bclink.recv_permitted) { |
| 298 | while (n_ptr->bclink.deferred_head) { | 295 | while (n_ptr->bclink.deferred_head) { |
| 299 | struct sk_buff *buf = n_ptr->bclink.deferred_head; | 296 | struct sk_buff *buf = n_ptr->bclink.deferred_head; |
| 300 | n_ptr->bclink.deferred_head = buf->next; | 297 | n_ptr->bclink.deferred_head = buf->next; |
| @@ -310,7 +307,7 @@ static void node_lost_contact(struct tipc_node *n_ptr) | |||
| 310 | tipc_bclink_remove_node(n_ptr->addr); | 307 | tipc_bclink_remove_node(n_ptr->addr); |
| 311 | tipc_bclink_acknowledge(n_ptr, INVALID_LINK_SEQ); | 308 | tipc_bclink_acknowledge(n_ptr, INVALID_LINK_SEQ); |
| 312 | 309 | ||
| 313 | n_ptr->bclink.supported = 0; | 310 | n_ptr->bclink.recv_permitted = false; |
| 314 | } | 311 | } |
| 315 | 312 | ||
| 316 | /* Abort link changeover */ | 313 | /* Abort link changeover */ |
