aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/tipc/net.c25
-rw-r--r--net/tipc/net.h2
-rw-r--r--net/tipc/node.c2
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
111DEFINE_RWLOCK(tipc_net_lock); 111DEFINE_RWLOCK(tipc_net_lock);
112atomic_t tipc_num_links;
113
114static int net_start(void)
115{
116 atomic_set(&tipc_num_links, 0);
117
118 return 0;
119}
120
121static 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
129static void net_route_named_msg(struct sk_buff *buf) 113static 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
233void tipc_net_stop(void) 214void 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
40extern atomic_t tipc_num_links;
41
42extern rwlock_t tipc_net_lock; 40extern rwlock_t tipc_net_lock;
43 41
44void tipc_net_route_msg(struct sk_buff *buf); 42void 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);
47static struct hlist_head node_htable[NODE_HTABLE_SIZE]; 47static struct hlist_head node_htable[NODE_HTABLE_SIZE];
48LIST_HEAD(tipc_node_list); 48LIST_HEAD(tipc_node_list);
49static u32 tipc_num_nodes; 49static u32 tipc_num_nodes;
50
51static atomic_t tipc_num_links = ATOMIC_INIT(0);
50u32 tipc_own_tag; 52u32 tipc_own_tag;
51 53
52/** 54/**