aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/kernel/process.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 75316f0dd02a..3bda1c379776 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -114,18 +114,8 @@ void arm_machine_restart(char mode, const char *cmd)
114 /* Push out any further dirty data, and ensure cache is empty */ 114 /* Push out any further dirty data, and ensure cache is empty */
115 flush_cache_all(); 115 flush_cache_all();
116 116
117 /* 117 /* Now call the architecture specific reboot code. */
118 * Now call the architecture specific reboot code.
119 */
120 arch_reset(mode, cmd); 118 arch_reset(mode, cmd);
121
122 /*
123 * Whoops - the architecture was unable to reboot.
124 * Tell the user!
125 */
126 mdelay(1000);
127 printk("Reboot failed -- System halted\n");
128 while (1);
129} 119}
130 120
131/* 121/*
@@ -250,7 +240,15 @@ void machine_power_off(void)
250void machine_restart(char *cmd) 240void machine_restart(char *cmd)
251{ 241{
252 machine_shutdown(); 242 machine_shutdown();
243
253 arm_pm_restart(reboot_mode, cmd); 244 arm_pm_restart(reboot_mode, cmd);
245
246 /* Give a grace period for failure to restart of 1s */
247 mdelay(1000);
248
249 /* Whoops - the platform was unable to reboot. Tell the user! */
250 printk("Reboot failed -- System halted\n");
251 while (1);
254} 252}
255 253
256void __show_regs(struct pt_regs *regs) 254void __show_regs(struct pt_regs *regs)