diff options
Diffstat (limited to 'net/tipc')
| -rw-r--r-- | net/tipc/net.c | 25 | ||||
| -rw-r--r-- | net/tipc/net.h | 2 | ||||
| -rw-r--r-- | net/tipc/node.c | 2 |
3 files changed, 6 insertions, 23 deletions
diff --git a/net/tipc/net.c b/net/tipc/net.c index cce8d086f173..8fbc7e6ae3df 100644 --- a/net/tipc/net.c +++ b/net/tipc/net.c | |||
| @@ -109,22 +109,6 @@ | |||
| 109 | */ | 109 | */ |
| 110 | 110 | ||
| 111 | DEFINE_RWLOCK(tipc_net_lock); | 111 | DEFINE_RWLOCK(tipc_net_lock); |
| 112 | atomic_t tipc_num_links; | ||
| 113 | |||
| 114 | static int net_start(void) | ||
| 115 | { | ||
| 116 | atomic_set(&tipc_num_links, 0); | ||
| 117 | |||
| 118 | return 0; | ||
| 119 | } | ||
| 120 | |||
| 121 | static void net_stop(void) | ||
| 122 | { | ||
| 123 | struct tipc_node *node, *t_node; | ||
| 124 | |||
| 125 | list_for_each_entry_safe(node, t_node, &tipc_node_list, list) | ||
| 126 | tipc_node_delete(node); | ||
| 127 | } | ||
| 128 | 112 | ||
| 129 | static void net_route_named_msg(struct sk_buff *buf) | 113 | static void net_route_named_msg(struct sk_buff *buf) |
| 130 | { | 114 | { |
| @@ -214,9 +198,6 @@ int tipc_net_start(u32 addr) | |||
| 214 | tipc_named_reinit(); | 198 | tipc_named_reinit(); |
| 215 | tipc_port_reinit(); | 199 | tipc_port_reinit(); |
| 216 | 200 | ||
| 217 | res = net_start(); | ||
| 218 | if (res) | ||
| 219 | return res; | ||
| 220 | res = tipc_bclink_init(); | 201 | res = tipc_bclink_init(); |
| 221 | if (res) | 202 | if (res) |
| 222 | return res; | 203 | return res; |
| @@ -232,14 +213,16 @@ int tipc_net_start(u32 addr) | |||
| 232 | 213 | ||
| 233 | void tipc_net_stop(void) | 214 | void tipc_net_stop(void) |
| 234 | { | 215 | { |
| 216 | struct tipc_node *node, *t_node; | ||
| 217 | |||
| 235 | if (tipc_mode != TIPC_NET_MODE) | 218 | if (tipc_mode != TIPC_NET_MODE) |
| 236 | return; | 219 | return; |
| 237 | write_lock_bh(&tipc_net_lock); | 220 | write_lock_bh(&tipc_net_lock); |
| 238 | tipc_bearer_stop(); | 221 | tipc_bearer_stop(); |
| 239 | tipc_mode = TIPC_NODE_MODE; | 222 | tipc_mode = TIPC_NODE_MODE; |
| 240 | tipc_bclink_stop(); | 223 | tipc_bclink_stop(); |
| 241 | net_stop(); | 224 | list_for_each_entry_safe(node, t_node, &tipc_node_list, list); |
| 225 | tipc_node_delete(node); | ||
| 242 | write_unlock_bh(&tipc_net_lock); | 226 | write_unlock_bh(&tipc_net_lock); |
| 243 | info("Left network mode\n"); | 227 | info("Left network mode\n"); |
| 244 | } | 228 | } |
| 245 | |||
diff --git a/net/tipc/net.h b/net/tipc/net.h index 0ba6093fb6ce..9eb4b9e220eb 100644 --- a/net/tipc/net.h +++ b/net/tipc/net.h | |||
| @@ -37,8 +37,6 @@ | |||
| 37 | #ifndef _TIPC_NET_H | 37 | #ifndef _TIPC_NET_H |
| 38 | #define _TIPC_NET_H | 38 | #define _TIPC_NET_H |
| 39 | 39 | ||
| 40 | extern atomic_t tipc_num_links; | ||
| 41 | |||
| 42 | extern rwlock_t tipc_net_lock; | 40 | extern rwlock_t tipc_net_lock; |
| 43 | 41 | ||
| 44 | void tipc_net_route_msg(struct sk_buff *buf); | 42 | void tipc_net_route_msg(struct sk_buff *buf); |
diff --git a/net/tipc/node.c b/net/tipc/node.c index 22aeb2b7ad00..66099cb1d6d6 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c | |||
| @@ -47,6 +47,8 @@ static DEFINE_SPINLOCK(node_create_lock); | |||
| 47 | static struct hlist_head node_htable[NODE_HTABLE_SIZE]; | 47 | static struct hlist_head node_htable[NODE_HTABLE_SIZE]; |
| 48 | LIST_HEAD(tipc_node_list); | 48 | LIST_HEAD(tipc_node_list); |
| 49 | static u32 tipc_num_nodes; | 49 | static u32 tipc_num_nodes; |
| 50 | |||
| 51 | static atomic_t tipc_num_links = ATOMIC_INIT(0); | ||
| 50 | u32 tipc_own_tag; | 52 | u32 tipc_own_tag; |
| 51 | 53 | ||
| 52 | /** | 54 | /** |
