lkml.org 
[lkml]   [2016]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:smp/hotplug] net/iucv: Use explicit clean up labels in iucv_init()
    Commit-ID:  97023a53c5f907e061d6bfa90462e36541f0ae65
    Gitweb: http://git.kernel.org/tip/97023a53c5f907e061d6bfa90462e36541f0ae65
    Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    AuthorDate: Thu, 24 Nov 2016 17:10:13 +0100
    Committer: Thomas Gleixner <tglx@linutronix.de>
    CommitDate: Thu, 24 Nov 2016 20:48:51 +0100

    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.
    Since the previous patch got already applied, here is a follow up patch.

    Suggested-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
    Signed-off-by: Sebastian 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.de
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

    ---
    net/iucv/iucv.c | 14 +++++++-------
    1 file changed, 7 insertions(+), 7 deletions(-)

    diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c
    index f0d6afc..8f7ef16 100644
    --- a/net/iucv/iucv.c
    +++ b/net/iucv/iucv.c
    @@ -2038,16 +2038,16 @@ static int __init iucv_init(void)
    rc = cpuhp_setup_state(CPUHP_NET_IUCV_PREPARE, "net/iucv:prepare",
    iucv_cpu_prepare, iucv_cpu_dead);
    if (rc)
    - goto out_free;
    + goto out_dev;
    rc = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "net/iucv:online",
    iucv_cpu_online, iucv_cpu_down_prep);
    if (rc < 0)
    - goto out_free;
    + goto out_prep;
    iucv_online = rc;

    rc = register_reboot_notifier(&iucv_reboot_notifier);
    if (rc)
    - goto out_free;
    + goto out_remove_hp;
    ASCEBC(iucv_error_no_listener, 16);
    ASCEBC(iucv_error_no_memory, 16);
    ASCEBC(iucv_error_pathid, 16);
    @@ -2061,11 +2061,11 @@ static int __init iucv_init(void)

    out_reboot:
    unregister_reboot_notifier(&iucv_reboot_notifier);
    -out_free:
    - if (iucv_online)
    - cpuhp_remove_state(iucv_online);
    +out_remove_hp:
    + cpuhp_remove_state(iucv_online);
    +out_prep:
    cpuhp_remove_state(CPUHP_NET_IUCV_PREPARE);
    -
    +out_dev:
    root_device_unregister(iucv_root);
    out_int:
    unregister_external_irq(EXT_IRQ_IUCV, iucv_external_interrupt);
    \
     
     \ /
      Last update: 2016-11-24 20:58    [W:5.503 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site