]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/mtd/mtdoops.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / mtd / mtdoops.c
index 1ee72f3f0512591d1ffd535f22aa2ac7dcb73941..e3e40f4403235540dc5ad5f6e3efd35aa981f647 100644 (file)
@@ -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);
 }