Commit f4f8720f authored by Ben Hutchings's avatar Ben Hutchings Committed by David S. Miller

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: default avatarBen Hutchings <ben@decadent.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6024935f
...@@ -1206,7 +1206,7 @@ static int __init llc2_init(void) ...@@ -1206,7 +1206,7 @@ static int __init llc2_init(void)
rc = llc_proc_init(); rc = llc_proc_init();
if (rc != 0) { if (rc != 0) {
printk(llc_proc_err_msg); printk(llc_proc_err_msg);
goto out_unregister_llc_proto; goto out_station;
} }
rc = llc_sysctl_init(); rc = llc_sysctl_init();
if (rc) { if (rc) {
...@@ -1226,7 +1226,8 @@ static int __init llc2_init(void) ...@@ -1226,7 +1226,8 @@ static int __init llc2_init(void)
llc_sysctl_exit(); llc_sysctl_exit();
out_proc: out_proc:
llc_proc_exit(); llc_proc_exit();
out_unregister_llc_proto: out_station:
llc_station_exit();
proto_unregister(&llc_proto); proto_unregister(&llc_proto);
goto out; goto out;
} }
......
...@@ -701,7 +701,7 @@ void __init llc_station_init(void) ...@@ -701,7 +701,7 @@ void __init llc_station_init(void)
llc_main_station.state = LLC_STATION_STATE_UP; llc_main_station.state = LLC_STATION_STATE_UP;
} }
void __exit llc_station_exit(void) void llc_station_exit(void)
{ {
llc_set_station_handler(NULL); llc_set_station_handler(NULL);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment