From: Anshuman Khandual Date: Tue, 21 Oct 2014 08:11:29 +0000 (+0530) Subject: powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=79872e35469b6db1c5243abded7b24367bd0a353;p=openwrt%2Fstaging%2Fblogic.git powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown The current handling of EPOW_SHUTDOWN_ON_UPS event does not shutdown the system after logging the message. All the events of EPOW_SYSTEM_SHUTDOWN action code (EPOW_SHUTDOWN_ON_UPS is a part of it) must initiate system shutdown as per the SPAPR spec. If the LPAR does not shutdown after receiving this rtas based event, it will expose itself to a forced abrupt shutdown initiated by the platform firmware. This patch fixes the situation. Signed-off-by: Anshuman Khandual Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index c3b2a7e81ddb..02e4a1745516 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c @@ -89,6 +89,8 @@ static void handle_system_shutdown(char event_modifier) case EPOW_SHUTDOWN_ON_UPS: pr_emerg("Loss of power reported by firmware, system is " "running on UPS/battery"); + pr_emerg("Check RTAS error log for details"); + orderly_poweroff(true); break; case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS: