Message ID | 20200914150521.30869-2-patricia.domingues@canonical.com |
---|---|
State | New |
Headers | show |
Series | Do not initiate shutdown for EPOW_SHUTDOWN_ON_UPS event (LP: 1893897) | expand |
Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
On Mon, Sep 14, 2020 at 12:05:21PM -0300, patricia.domingues@canonical.com wrote: > From: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> > > BugLink: https://bugs.launchpad.net/bugs/1893897 > > As per PAPR we have to look for both EPOW sensor value and event > modifier to identify the type of event and take appropriate action. > > In LoPAPR v1.1 section 10.2.2 includes table 136 "EPOW Action Codes": > > SYSTEM_SHUTDOWN 3 > > The system must be shut down. An EPOW-aware OS logs the EPOW error > log information, then schedules the system to be shut down to begin > after an OS defined delay internal (default is 10 minutes.) > > Then in section 10.3.2.2.8 there is table 146 "Platform Event Log > Format, Version 6, EPOW Section", which includes the "EPOW Event > Modifier": > > For EPOW sensor value = 3 > 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 > All other values = reserved > > We have a user space tool (rtas_errd) on LPAR to monitor for > EPOW_SHUTDOWN_ON_UPS. Once it gets an event it initiates shutdown > after predefined time. It 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. > > Commit 79872e35469b ("powerpc/pseries: All events of > EPOW_SYSTEM_SHUTDOWN must initiate shutdown") changed our handling of > the "on UPS/Battery" case, to immediately shutdown the system. This > breaks existing setups that rely on the userspace tool to delay > shutdown and let the system run on the UPS. > > Fixes: 79872e35469b ("powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown") > Cc: stable@vger.kernel.org # v4.0+ > Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> > [mpe: Massage change log and add PAPR references] > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > Link: https://lore.kernel.org/r/20200820061844.306460-1-hegdevasant@linux.vnet.ibm.com > (cherry picked from commit 90a9b102eddf6a3f987d15f4454e26a2532c1c98) > Signed-off-by: Patricia Domingues <patricia.domingues@canonical.com> > --- > 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 ebb075018c34..86d5cb3b435e 100644 > --- a/arch/powerpc/platforms/pseries/ras.c > +++ b/arch/powerpc/platforms/pseries/ras.c > @@ -92,7 +92,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.17.1 Acked-by: William Breathitt Gray <william.gray@canonical.com>
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index ebb075018c34..86d5cb3b435e 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c @@ -92,7 +92,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: