summaryrefslogtreecommitdiff
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorTom Cherry <tcherry@nvidia.com>2012-03-13 15:31:08 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 01:38:06 -0700
commit7a78ac5b1c8123f0527920f5c12d8fe48a6ffd6d (patch)
treebcbe01926f3c38f7896efaaf3e9b32518b7747cd /arch/arm/kernel
parent3296b7f8cf9a3c569d54c1e56246f21ce215ac49 (diff)
ARM: kernel: flush console and disable irqs before machine_shutdown
Bug 952455 Change-Id: I7400b519eccb274c1b5251032696e10e16ee1c42 Signed-off-by: Tom Cherry <tcherry@nvidia.com> Reviewed-on: http://git-master/r/89876 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bo Yan <byan@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com> Rebase-Id: R9c44a6e760f12ba62443aa9f7ce7851e9e3d8b75
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/process.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index c86ad0d5a495..c8dea9af9e79 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -288,12 +288,16 @@ void machine_power_off(void)
*/
void machine_restart(char *cmd)
{
- smp_send_stop();
-
/* Flush the console to make sure all the relevant messages make it
* out to the console drivers */
arm_machine_flush_console();
+ /* Disable interrupts first */
+ local_irq_disable();
+ local_fiq_disable();
+
+ smp_send_stop();
+
arm_pm_restart(reboot_mode, cmd);
/* Give a grace period for failure to restart of 1s */