lkml.org 
[lkml]   [2013]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH REPOST] kexec: return error of machine_kexec() fails
    Date
    From: Stephen Warren <swarren@nvidia.com>

    Prior to commit 3ab8352 "kexec jump", if machine_kexec() returned,
    sys_reboot() would return -EINVAL. This patch restores this behaviour
    for the non-KEXEC_JUMP case, where machine_kexec() is not expected to
    return.

    This situation can occur on ARM, where kexec requires disabling all but
    one CPU using CPU hotplug. However, if hotplug isn't supported by the
    particular HW the kernel is running on, then kexec cannot succeed.

    Signed-off-by: Stephen Warren <swarren@nvidia.com>
    Acked-by: Will Deacon <will.deacon@arm.com>
    ---
    kernel/kexec.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/kernel/kexec.c b/kernel/kexec.c
    index 59f7b55..bde1190 100644
    --- a/kernel/kexec.c
    +++ b/kernel/kexec.c
    @@ -1702,6 +1702,8 @@ int kernel_kexec(void)
    pm_restore_console();
    unlock_system_sleep();
    }
    +#else
    + error = -EINVAL;
    #endif

    Unlock:
    --
    1.8.1.5


    \
     
     \ /
      Last update: 2013-07-10 23:39    [W:3.452 / U:1.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site