aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBalbir Singh <bsingharora@gmail.com>2018-03-07 19:36:06 -0500
committerMichael Ellerman <mpe@ellerman.id.au>2018-03-13 00:50:31 -0400
commit5ee573e8ef034e687c420cb10911371488d14b10 (patch)
tree37ddcaea9d6b0e4579bec6579130cb4be859dda1
parent9dbcbfa1fe0c3b556e889ea213a73eb80d74307b (diff)
powerpc/powernv/mce: Don't silently restart the machine
On MCE the current code will restart the machine with ppc_md.restart(). This case was extremely unlikely since prior to that a skiboot call is made and that resulted in a checkstop for analysis. With newer skiboots, on P9 we don't checkstop the box by default, instead we return back to the kernel to extract useful information at the time of the MCE. While we still get this information, this patch converts the restart to a panic(), so that if configured a dump can be taken and we can track and probably debug the potential issue causing the MCE. Signed-off-by: Balbir Singh <bsingharora@gmail.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Stewart Smith <stewart@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/platforms/powernv/opal.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index c15182765ff5..516e23de5a3d 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -490,9 +490,12 @@ void pnv_platform_error_reboot(struct pt_regs *regs, const char *msg)
490 * opal to trigger checkstop explicitly for error analysis. 490 * opal to trigger checkstop explicitly for error analysis.
491 * The FSP PRD component would have already got notified 491 * The FSP PRD component would have already got notified
492 * about this error through other channels. 492 * about this error through other channels.
493 * 4. We are running on a newer skiboot that by default does
494 * not cause a checkstop, drops us back to the kernel to
495 * extract context and state at the time of the error.
493 */ 496 */
494 497
495 ppc_md.restart(NULL); 498 panic(msg);
496} 499}
497 500
498int opal_machine_check(struct pt_regs *regs) 501int opal_machine_check(struct pt_regs *regs)