summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2023-05-22 22:57:30 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-05-30 12:44:09 +0100
commitda8adda579846ffa36700c0a12739e96e18831b6 (patch)
tree2acd1a2b93f455f217a95b8b68575158a35c66cf
parent43ffe982a304edd2f89b37498b3cdc635c79b3d9 (diff)
downloadlinux-da8adda579846ffa36700c0a12739e96e18831b6.tar.gz
linux-da8adda579846ffa36700c0a12739e96e18831b6.tar.bz2
linux-da8adda579846ffa36700c0a12739e96e18831b6.zip
parisc: Allow to reboot machine after system halt
commit 2028315cf59bb899a5ac7e87dc48ecb8fac7ac24 upstream. In case a machine can't power-off itself on system shutdown, allow the user to reboot it by pressing the RETURN key. Cc: <stable@vger.kernel.org> # v4.14+ Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/parisc/kernel/process.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index 230a6422b99f..0e67ab681b4e 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -124,13 +124,18 @@ void machine_power_off(void)
/* It seems we have no way to power the system off via
* software. The user has to press the button himself. */
- printk(KERN_EMERG "System shut down completed.\n"
- "Please power this system off now.");
+ printk("Power off or press RETURN to reboot.\n");
/* prevent soft lockup/stalled CPU messages for endless loop. */
rcu_sysrq_start();
lockup_detector_soft_poweroff();
- for (;;);
+ while (1) {
+ /* reboot if user presses RETURN key */
+ if (pdc_iodc_getc() == 13) {
+ printk("Rebooting...\n");
+ machine_restart(NULL);
+ }
+ }
}
void (*pm_power_off)(void);