diff options
Diffstat (limited to 'net/tipc/core.c')
-rw-r--r-- | net/tipc/core.c | 19 |
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 | |||
73 | out_nametbl: | ||
74 | tipc_sk_rht_destroy(net); | ||
75 | out_sk_rht: | ||
65 | return err; | 76 | return err; |
66 | } | 77 | } |
67 | 78 | ||
68 | static void __net_exit tipc_exit_net(struct net *net) | 79 | static 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: | |||
133 | out_socket: | 141 | out_socket: |
134 | tipc_netlink_stop(); | 142 | tipc_netlink_stop(); |
135 | out_netlink: | 143 | out_netlink: |
136 | tipc_nametbl_stop(); | ||
137 | out_nametbl: | ||
138 | unregister_pernet_subsys(&tipc_net_ops); | 144 | unregister_pernet_subsys(&tipc_net_ops); |
139 | out_pernet: | 145 | out_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 | ||