summaryrefslogtreecommitdiff
path: root/net/sctp/protocol.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-06-25 12:30:49 +0200
committerIngo Molnar <mingo@elte.hu>2008-06-25 12:30:49 +0200
commitcbd6712406a3ea861b49fbfd46e23cbf5f8e073f (patch)
treeb519cb0f279cd844886df062b3c7ce439912b4ed /net/sctp/protocol.c
parentd939d2851fd12568e2eabb2916769e8a57ba5c89 (diff)
parent543cf4cb3fe6f6cae3651ba918b9c56200b257d0 (diff)
Merge branch 'linus' into x86/irqtip-x86-irq-2008-06-25_10.30_Wed
Diffstat (limited to 'net/sctp/protocol.c')
-rw-r--r--net/sctp/protocol.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
index b435a193c5df..9258dfe784ae 100644
--- a/net/sctp/protocol.c
+++ b/net/sctp/protocol.c
@@ -108,14 +108,23 @@ static __init int sctp_proc_init(void)
}
if (sctp_snmp_proc_init())
- goto out_nomem;
+ goto out_snmp_proc_init;
if (sctp_eps_proc_init())
- goto out_nomem;
+ goto out_eps_proc_init;
if (sctp_assocs_proc_init())
- goto out_nomem;
+ goto out_assocs_proc_init;
return 0;
+out_assocs_proc_init:
+ sctp_eps_proc_exit();
+out_eps_proc_init:
+ sctp_snmp_proc_exit();
+out_snmp_proc_init:
+ if (proc_net_sctp) {
+ proc_net_sctp = NULL;
+ remove_proc_entry("sctp", init_net.proc_net);
+ }
out_nomem:
return -ENOMEM;
}