Re: [PATCH] powerpc/pseries: Do not initiate shutdown when system is running on UPS
From: Tyrel Datwyler <tyreld@linux.ibm.com>
Date: 2020-08-18 19:35:44
Also in:
stable
On 8/18/20 3:54 AM, Vasant Hegde wrote:
As per PAPR specification whenever system is running on UPS we have to wait for predefined time (default 10mins) before initiating shutdown.
The wording in PAPR seems a little unclear. It states for an EPOW_SYSTEM_SHUTDOWN action code that an EPOW error should be logged followed by scheduling a shutdown to begin after an OS defined delay interval (with 10 minutes the suggested default). However, the modifier code descriptions seems to imply that a normal shutdown is the only one that should happen with no additional delay. For EPOW sensor value = 3 (EPOW_SYSTEM_SHUTDOWN) 0x01 = Normal system shutdown with no additional delay 0x02 = Loss of utility power, system is running on UPS/Battery 0x03 = Loss of system critical functions, system should be shutdown 0x04 = Ambient temperature too high For 0x03-0x04 we also do an orderly_poweroff(). Not sure if it really matters, but I was curious and this is just what I gleaned from glancing at PAPR. -Tyrel
quoted hunk ↗ jump to hunk
We have user space tool (rtas_errd) to monitor for EPOW events and initiate shutdown after predefined time. Hence do not initiate shutdown whenever we get EPOW_SHUTDOWN_ON_UPS event. Fixes: 79872e35 (powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown) Cc: stable@vger.kernel.org # v4.0+ Cc: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Vasant Hegde <redacted> --- arch/powerpc/platforms/pseries/ras.c | 1 - 1 file changed, 1 deletion(-)diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index f3736fcd98fc..13c86a292c6d 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c@@ -184,7 +184,6 @@ static void handle_system_shutdown(char event_modifier) case EPOW_SHUTDOWN_ON_UPS: pr_emerg("Loss of system power detected. System is running on" " UPS/battery. Check RTAS error log for details\n"); - orderly_poweroff(true); break; case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS: