diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2012-08-12 22:50:43 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-08-14 19:51:40 -0400 |
commit | f4f8720febf0d785a054fc09bde5e3ad09728a58 (patch) | |
tree | f0f23afc9145ee25773ed9c8bffa0a706a46216a /net/llc/af_llc.c | |
parent | 6024935f5ff5f1646bce8404416318e5fd4a0c4a (diff) |
llc2: Call llc_station_exit() on llc2_init() failure path
Otherwise the station packet handler will remain registered even though
the module is unloaded.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/llc/af_llc.c')
-rw-r--r-- | net/llc/af_llc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index f6fe4d400502..8c2919ca36f6 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c | |||
@@ -1206,7 +1206,7 @@ static int __init llc2_init(void) | |||
1206 | rc = llc_proc_init(); | 1206 | rc = llc_proc_init(); |
1207 | if (rc != 0) { | 1207 | if (rc != 0) { |
1208 | printk(llc_proc_err_msg); | 1208 | printk(llc_proc_err_msg); |
1209 | goto out_unregister_llc_proto; | 1209 | goto out_station; |
1210 | } | 1210 | } |
1211 | rc = llc_sysctl_init(); | 1211 | rc = llc_sysctl_init(); |
1212 | if (rc) { | 1212 | if (rc) { |
@@ -1226,7 +1226,8 @@ out_sysctl: | |||
1226 | llc_sysctl_exit(); | 1226 | llc_sysctl_exit(); |
1227 | out_proc: | 1227 | out_proc: |
1228 | llc_proc_exit(); | 1228 | llc_proc_exit(); |
1229 | out_unregister_llc_proto: | 1229 | out_station: |
1230 | llc_station_exit(); | ||
1230 | proto_unregister(&llc_proto); | 1231 | proto_unregister(&llc_proto); |
1231 | goto out; | 1232 | goto out; |
1232 | } | 1233 | } |