Skip to content

Commit

Permalink
ARM: restart: move reboot failure handing into machine_restart()
Browse files Browse the repository at this point in the history
Move the failure to reboot into machine_restart() to always catch
this condition, even if a platform decides to hook the restarting
via arm_pm_restart().

Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King committed Nov 10, 2011
1 parent 34adeda commit ac15e00
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions arch/arm/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,18 +114,8 @@ void arm_machine_restart(char mode, const char *cmd)
/* Push out any further dirty data, and ensure cache is empty */
flush_cache_all();

/*
* Now call the architecture specific reboot code.
*/
/* Now call the architecture specific reboot code. */
arch_reset(mode, cmd);

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

/*
Expand Down Expand Up @@ -250,7 +240,15 @@ void machine_power_off(void)
void machine_restart(char *cmd)
{
machine_shutdown();

arm_pm_restart(reboot_mode, cmd);

/* Give a grace period for failure to restart of 1s */
mdelay(1000);

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

void __show_regs(struct pt_regs *regs)
Expand Down

0 comments on commit ac15e00

Please sign in to comment.