As per PAPR we have to look for both EPOW sensor value and event modifier to identify type of event and take appropriate action. Sensor value = 3 (EPOW_SYSTEM_SHUTDOWN) schedule system to be shutdown after OS defined delay (default 10 mins). EPOW Event Modifier for sensor value = 3: We have to initiate immediate shutdown for most of the event modifier except value = 2 (system running on UPS). Checking with firmware document its clear that we have to wait for predefined time before initiating shutdown. If power is restored within time we should cancel the shutdown process. I think commit 79872e35 accidently enabled immediate poweroff for EPOW_SHUTDOWN_ON_UPS event. We have user space tool (rtas_errd) on LPAR to monitor for EPOW_SHUTDOWN_ON_UPS. Once it gets event it initiates shutdown after predefined time. Also starts monitoring for any new EPOW events. If it receives "Power restored" event before predefined time it will cancel the shutdown. Otherwise after predefined time it will shutdown the system. Fixes: 79872e35 (powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown) Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Cc: Tyrel Datwyler <tyreld@xxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> --- Changes in v2: - Updated patch description based on mpe, Tyrel comment. -Vasant 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: -- 2.26.2