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>
This commit is contained in:
parent
6024935f5f
commit
f4f8720feb
|
@ -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 @@ out_sysctl:
|
||||||
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)
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue