diff options
Diffstat (limited to 'net/rxrpc/af_rxrpc.c')
-rw-r--r-- | net/rxrpc/af_rxrpc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c index e61aa6001c65..7b1670489638 100644 --- a/net/rxrpc/af_rxrpc.c +++ b/net/rxrpc/af_rxrpc.c | |||
@@ -838,6 +838,12 @@ static int __init af_rxrpc_init(void) | |||
838 | goto error_key_type_s; | 838 | goto error_key_type_s; |
839 | } | 839 | } |
840 | 840 | ||
841 | ret = rxrpc_sysctl_init(); | ||
842 | if (ret < 0) { | ||
843 | printk(KERN_CRIT "RxRPC: Cannot register sysctls\n"); | ||
844 | goto error_sysctls; | ||
845 | } | ||
846 | |||
841 | #ifdef CONFIG_PROC_FS | 847 | #ifdef CONFIG_PROC_FS |
842 | proc_create("rxrpc_calls", 0, init_net.proc_net, &rxrpc_call_seq_fops); | 848 | proc_create("rxrpc_calls", 0, init_net.proc_net, &rxrpc_call_seq_fops); |
843 | proc_create("rxrpc_conns", 0, init_net.proc_net, | 849 | proc_create("rxrpc_conns", 0, init_net.proc_net, |
@@ -845,6 +851,8 @@ static int __init af_rxrpc_init(void) | |||
845 | #endif | 851 | #endif |
846 | return 0; | 852 | return 0; |
847 | 853 | ||
854 | error_sysctls: | ||
855 | unregister_key_type(&key_type_rxrpc_s); | ||
848 | error_key_type_s: | 856 | error_key_type_s: |
849 | unregister_key_type(&key_type_rxrpc); | 857 | unregister_key_type(&key_type_rxrpc); |
850 | error_key_type: | 858 | error_key_type: |
@@ -865,6 +873,7 @@ error_call_jar: | |||
865 | static void __exit af_rxrpc_exit(void) | 873 | static void __exit af_rxrpc_exit(void) |
866 | { | 874 | { |
867 | _enter(""); | 875 | _enter(""); |
876 | rxrpc_sysctl_exit(); | ||
868 | unregister_key_type(&key_type_rxrpc_s); | 877 | unregister_key_type(&key_type_rxrpc_s); |
869 | unregister_key_type(&key_type_rxrpc); | 878 | unregister_key_type(&key_type_rxrpc); |
870 | sock_unregister(PF_RXRPC); | 879 | sock_unregister(PF_RXRPC); |