X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=drivers%2Fmtd%2Fmtdoops.c;h=e3e40f4403235540dc5ad5f6e3efd35aa981f647;hb=ab2020f2f11fc7fb81e6c71298b0830d85412011;hp=1ee72f3f0512591d1ffd535f22aa2ac7dcb73941;hpb=e9a68707d736f4f73d7e209885d7b4c5c452b1dc;p=cascardo%2Flinux.git diff --git a/drivers/mtd/mtdoops.c b/drivers/mtd/mtdoops.c index 1ee72f3f0512..e3e40f440323 100644 --- a/drivers/mtd/mtdoops.c +++ b/drivers/mtd/mtdoops.c @@ -307,6 +307,11 @@ static void mtdoops_do_dump(struct kmsg_dumper *dumper, unsigned long l1_cpy, l2_cpy; char *dst; + if (reason != KMSG_DUMP_OOPS && + reason != KMSG_DUMP_PANIC && + reason != KMSG_DUMP_KEXEC) + return; + /* Only dump oopses if dump_oops is set */ if (reason == KMSG_DUMP_OOPS && !dump_oops) return; @@ -396,7 +401,8 @@ static void mtdoops_notify_remove(struct mtd_info *mtd) printk(KERN_WARNING "mtdoops: could not unregister kmsg_dumper\n"); cxt->mtd = NULL; - flush_scheduled_work(); + flush_work_sync(&cxt->work_erase); + flush_work_sync(&cxt->work_write); }