aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/kernel/process.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index ed37c3694cb8..43b7c34f92cb 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -135,6 +135,7 @@ void machine_shutdown(void)
135 */ 135 */
136void machine_halt(void) 136void machine_halt(void)
137{ 137{
138 local_irq_disable();
138 smp_send_stop(); 139 smp_send_stop();
139 while (1); 140 while (1);
140} 141}
@@ -147,6 +148,7 @@ void machine_halt(void)
147 */ 148 */
148void machine_power_off(void) 149void machine_power_off(void)
149{ 150{
151 local_irq_disable();
150 smp_send_stop(); 152 smp_send_stop();
151 if (pm_power_off) 153 if (pm_power_off)
152 pm_power_off(); 154 pm_power_off();
@@ -165,10 +167,9 @@ void machine_power_off(void)
165 */ 167 */
166void machine_restart(char *cmd) 168void machine_restart(char *cmd)
167{ 169{
168 smp_send_stop();
169
170 /* Disable interrupts first */ 170 /* Disable interrupts first */
171 local_irq_disable(); 171 local_irq_disable();
172 smp_send_stop();
172 173
173 /* Now call the architecture specific reboot code. */ 174 /* Now call the architecture specific reboot code. */
174 if (arm_pm_restart) 175 if (arm_pm_restart)