misc: apanic: erase kpanic when no data
erase kpanic partition when there is no data(console and thread)
Signed-off-by: Tom Zhu <a2289c@android-hal-04.(none)>
Signed-off-by: San Mehat <san@google.com>
diff --git a/drivers/misc/apanic.c b/drivers/misc/apanic.c
index f50881b..ca875f8 100644
--- a/drivers/misc/apanic.c
+++ b/drivers/misc/apanic.c
@@ -297,6 +297,7 @@
struct panic_header *hdr = ctx->bounce;
size_t len;
int rc;
+ int proc_entry_created = 0;
if (strcmp(mtd->name, CONFIG_APANIC_PLABEL))
return;
@@ -358,6 +359,7 @@
ctx->apanic_console->write_proc = apanic_proc_write;
ctx->apanic_console->size = hdr->console_length;
ctx->apanic_console->data = (void *) 1;
+ proc_entry_created = 1;
}
}
@@ -372,9 +374,13 @@
ctx->apanic_threads->write_proc = apanic_proc_write;
ctx->apanic_threads->size = hdr->threads_length;
ctx->apanic_threads->data = (void *) 2;
+ proc_entry_created = 1;
}
}
+ if (!proc_entry_created)
+ mtd_panic_erase();
+
return;
out_err:
ctx->mtd = NULL;