Commit 9c6bafab authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Thomas Gleixner

net/iucv: Use explicit clean up labels in iucv_init()

Ursula suggested to use explicit labels for clean up in the error path
instead of one `out_free' label, which handles multiple exits, introduced
in commit 38b48292 ("net/iucv: Convert to hotplug state machine").
Suggested-by: default avatarUrsula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: linux-s390@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: rt@linutronix.de
Cc: "David S. Miller" <davem@davemloft.net>
Link: http://lkml.kernel.org/r/20161124161013.dukr42y2nwscosk6@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent c8b877a5
...@@ -2038,16 +2038,16 @@ static int __init iucv_init(void) ...@@ -2038,16 +2038,16 @@ static int __init iucv_init(void)
rc = cpuhp_setup_state(CPUHP_NET_IUCV_PREPARE, "net/iucv:prepare", rc = cpuhp_setup_state(CPUHP_NET_IUCV_PREPARE, "net/iucv:prepare",
iucv_cpu_prepare, iucv_cpu_dead); iucv_cpu_prepare, iucv_cpu_dead);
if (rc) if (rc)
goto out_free; goto out_dev;
rc = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "net/iucv:online", rc = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "net/iucv:online",
iucv_cpu_online, iucv_cpu_down_prep); iucv_cpu_online, iucv_cpu_down_prep);
if (rc < 0) if (rc < 0)
goto out_free; goto out_prep;
iucv_online = rc; iucv_online = rc;
rc = register_reboot_notifier(&iucv_reboot_notifier); rc = register_reboot_notifier(&iucv_reboot_notifier);
if (rc) if (rc)
goto out_free; goto out_remove_hp;
ASCEBC(iucv_error_no_listener, 16); ASCEBC(iucv_error_no_listener, 16);
ASCEBC(iucv_error_no_memory, 16); ASCEBC(iucv_error_no_memory, 16);
ASCEBC(iucv_error_pathid, 16); ASCEBC(iucv_error_pathid, 16);
...@@ -2061,11 +2061,11 @@ static int __init iucv_init(void) ...@@ -2061,11 +2061,11 @@ static int __init iucv_init(void)
out_reboot: out_reboot:
unregister_reboot_notifier(&iucv_reboot_notifier); unregister_reboot_notifier(&iucv_reboot_notifier);
out_free: out_remove_hp:
if (iucv_online) cpuhp_remove_state(iucv_online);
cpuhp_remove_state(iucv_online); out_prep:
cpuhp_remove_state(CPUHP_NET_IUCV_PREPARE); cpuhp_remove_state(CPUHP_NET_IUCV_PREPARE);
out_dev:
root_device_unregister(iucv_root); root_device_unregister(iucv_root);
out_int: out_int:
unregister_external_irq(EXT_IRQ_IUCV, iucv_external_interrupt); unregister_external_irq(EXT_IRQ_IUCV, iucv_external_interrupt);
......
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