summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries/nvram.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2011-04-07 11:15:50 -0700
committerGrant Likely <grant.likely@secretlab.ca>2011-04-07 11:15:50 -0700
commit454abcc57f1d48a976291bc4af73b5f087e21d70 (patch)
tree5bba999ea3f31527da02b60604531cc5fb52ea57 /arch/powerpc/platforms/pseries/nvram.c
parent88aab9341a315d81118be6b41c45e4fe32b94bc1 (diff)
parent6221f222c0ebf1acdf7abcf927178f40e1a65e2a (diff)
downloadblackbird-op-linux-454abcc57f1d48a976291bc4af73b5f087e21d70.tar.gz
blackbird-op-linux-454abcc57f1d48a976291bc4af73b5f087e21d70.zip
Merge commit 'v2.6.39-rc2' into spi/merge
Diffstat (limited to 'arch/powerpc/platforms/pseries/nvram.c')
-rw-r--r--arch/powerpc/platforms/pseries/nvram.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pseries/nvram.c b/arch/powerpc/platforms/pseries/nvram.c
index 419707b07248..00cc3a094885 100644
--- a/arch/powerpc/platforms/pseries/nvram.c
+++ b/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;
OpenPOWER on IntegriCloud