lkml.org 
[lkml]   [2012]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 19/82] ARM: 7466/1: disable interrupt before spinning endlessly
    Date
    From: Greg KH <gregkh@linuxfoundation.org>

    3.5-stable review patch. If anyone has any objections, please let me know.

    ------------------

    From: Shawn Guo <shawn.guo@linaro.org>

    commit 98bd8b96b26db3399a48202318dca4aaa2515355 upstream.

    The CPU will endlessly spin at the end of machine_halt and
    machine_restart calls. However, this will lead to a soft lockup
    warning after about 20 seconds, if CONFIG_LOCKUP_DETECTOR is enabled,
    as system timer is still alive.

    Disable interrupt before going to spin endlessly, so that the lockup
    warning will never be seen.

    Reported-by: Marek Vasut <marex@denx.de>
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/arm/kernel/process.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/arch/arm/kernel/process.c
    +++ b/arch/arm/kernel/process.c
    @@ -247,6 +247,7 @@ void machine_shutdown(void)
    void machine_halt(void)
    {
    machine_shutdown();
    + local_irq_disable();
    while (1);
    }

    @@ -268,6 +269,7 @@ void machine_restart(char *cmd)

    /* Whoops - the platform was unable to reboot. Tell the user! */
    printk("Reboot failed -- System halted\n");
    + local_irq_disable();
    while (1);
    }




    \
     
     \ /
      Last update: 2012-08-14 00:22    [W:2.824 / U:0.576 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site