From fc3e0f7c1c59dfc12698a1370685ca65378d5d97 Mon Sep 17 00:00:00 2001 From: Jim Keniston Date: Fri, 25 Mar 2011 12:47:58 +0000 Subject: [PATCH] --- yaml --- r: 243511 b: refs/heads/master c: 15d260b36facc1aa769fb39b0efc41f4c8c44729 h: refs/heads/master i: 243509: 0213136ceb663df862610fdda0ecb488efc2f86e 243507: 899c590f13e5926694d61b88e3e8214521c495a5 243503: 91dfba6f878e21c1492885c385e37937718b2ebb v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/pseries/nvram.c | 24 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5fd8f4b565ed..414d1eec965e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ff56535d294245b75fd8f79633b935a3b85993c8 +refs/heads/master: 15d260b36facc1aa769fb39b0efc41f4c8c44729 diff --git a/trunk/arch/powerpc/platforms/pseries/nvram.c b/trunk/arch/powerpc/platforms/pseries/nvram.c index 419707b07248..00cc3a094885 100644 --- a/trunk/arch/powerpc/platforms/pseries/nvram.c +++ b/trunk/arch/powerpc/platforms/pseries/nvram.c @@ -480,8 +480,32 @@ static void oops_to_nvram(struct kmsg_dumper *dumper, const char *new_msgs, unsigned long new_len) { static unsigned int oops_count = 0; + static bool panicking = false; size_t text_len; + switch (reason) { + case KMSG_DUMP_RESTART: + case KMSG_DUMP_HALT: + case KMSG_DUMP_POWEROFF: + /* These are almost always orderly shutdowns. */ + return; + case KMSG_DUMP_OOPS: + case KMSG_DUMP_KEXEC: + break; + case KMSG_DUMP_PANIC: + panicking = true; + break; + case KMSG_DUMP_EMERG: + if (panicking) + /* Panic report already captured. */ + return; + break; + default: + pr_err("%s: ignoring unrecognized KMSG_DUMP_* reason %d\n", + __FUNCTION__, (int) reason); + return; + } + if (clobbering_unread_rtas_event()) return;