diff options
author | Tom Cherry <tcherry@nvidia.com> | 2012-03-13 15:31:08 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 01:38:06 -0700 |
commit | 7a78ac5b1c8123f0527920f5c12d8fe48a6ffd6d (patch) | |
tree | bcbe01926f3c38f7896efaaf3e9b32518b7747cd /arch/arm/kernel | |
parent | 3296b7f8cf9a3c569d54c1e56246f21ce215ac49 (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.c | 8 |
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 */ |