diff options
Diffstat (limited to 'net/sunrpc/sunrpc_syms.c')
-rw-r--r-- | net/sunrpc/sunrpc_syms.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/net/sunrpc/sunrpc_syms.c b/net/sunrpc/sunrpc_syms.c index f438347d817b..c0d085013a2b 100644 --- a/net/sunrpc/sunrpc_syms.c +++ b/net/sunrpc/sunrpc_syms.c | |||
@@ -33,21 +33,27 @@ init_sunrpc(void) | |||
33 | if (err) | 33 | if (err) |
34 | goto out; | 34 | goto out; |
35 | err = rpc_init_mempool(); | 35 | err = rpc_init_mempool(); |
36 | if (err) { | 36 | if (err) |
37 | unregister_rpc_pipefs(); | 37 | goto out2; |
38 | goto out; | 38 | err = rpcauth_init_module(); |
39 | } | 39 | if (err) |
40 | goto out3; | ||
40 | #ifdef RPC_DEBUG | 41 | #ifdef RPC_DEBUG |
41 | rpc_register_sysctl(); | 42 | rpc_register_sysctl(); |
42 | #endif | 43 | #endif |
43 | #ifdef CONFIG_PROC_FS | 44 | #ifdef CONFIG_PROC_FS |
44 | rpc_proc_init(); | 45 | rpc_proc_init(); |
45 | #endif | 46 | #endif |
47 | cache_initialize(); | ||
46 | cache_register(&ip_map_cache); | 48 | cache_register(&ip_map_cache); |
47 | cache_register(&unix_gid_cache); | 49 | cache_register(&unix_gid_cache); |
48 | svc_init_xprt_sock(); /* svc sock transport */ | 50 | svc_init_xprt_sock(); /* svc sock transport */ |
49 | init_socket_xprt(); /* clnt sock transport */ | 51 | init_socket_xprt(); /* clnt sock transport */ |
50 | rpcauth_init_module(); | 52 | return 0; |
53 | out3: | ||
54 | rpc_destroy_mempool(); | ||
55 | out2: | ||
56 | unregister_rpc_pipefs(); | ||
51 | out: | 57 | out: |
52 | return err; | 58 | return err; |
53 | } | 59 | } |