aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/net.c')
-rw-r--r--net/tipc/net.c25
1 files changed, 4 insertions, 21 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