aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/core.c')
-rw-r--r--net/tipc/core.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/net/tipc/core.c b/net/tipc/core.c
index 23ff3caa1ce6..63cde8148aaf 100644
--- a/net/tipc/core.c
+++ b/net/tipc/core.c
@@ -62,12 +62,24 @@ static int __net_init tipc_init_net(struct net *net)
62 spin_lock_init(&tn->node_list_lock); 62 spin_lock_init(&tn->node_list_lock);
63 63
64 err = tipc_sk_rht_init(net); 64 err = tipc_sk_rht_init(net);
65 if (err)
66 goto out_sk_rht;
67
68 err = tipc_nametbl_init(net);
69 if (err)
70 goto out_nametbl;
71 return 0;
72
73out_nametbl:
74 tipc_sk_rht_destroy(net);
75out_sk_rht:
65 return err; 76 return err;
66} 77}
67 78
68static void __net_exit tipc_exit_net(struct net *net) 79static void __net_exit tipc_exit_net(struct net *net)
69{ 80{
70 tipc_net_stop(net); 81 tipc_net_stop(net);
82 tipc_nametbl_stop(net);
71 tipc_sk_rht_destroy(net); 83 tipc_sk_rht_destroy(net);
72} 84}
73 85
@@ -98,10 +110,6 @@ static int __init tipc_init(void)
98 if (err) 110 if (err)
99 goto out_pernet; 111 goto out_pernet;
100 112
101 err = tipc_nametbl_init();
102 if (err)
103 goto out_nametbl;
104
105 err = tipc_netlink_start(); 113 err = tipc_netlink_start();
106 if (err) 114 if (err)
107 goto out_netlink; 115 goto out_netlink;
@@ -133,8 +141,6 @@ out_sysctl:
133out_socket: 141out_socket:
134 tipc_netlink_stop(); 142 tipc_netlink_stop();
135out_netlink: 143out_netlink:
136 tipc_nametbl_stop();
137out_nametbl:
138 unregister_pernet_subsys(&tipc_net_ops); 144 unregister_pernet_subsys(&tipc_net_ops);
139out_pernet: 145out_pernet:
140 pr_err("Unable to start in single node mode\n"); 146 pr_err("Unable to start in single node mode\n");
@@ -147,7 +153,6 @@ static void __exit tipc_exit(void)
147 tipc_bearer_cleanup(); 153 tipc_bearer_cleanup();
148 tipc_netlink_stop(); 154 tipc_netlink_stop();
149 tipc_subscr_stop(); 155 tipc_subscr_stop();
150 tipc_nametbl_stop();
151 tipc_socket_stop(); 156 tipc_socket_stop();
152 tipc_unregister_sysctl(); 157 tipc_unregister_sysctl();
153 158