[MTD] mtdoops: Fix a bug where block may not be erased
authorRichard Purdie <rpurdie@rpsys.net>
Sat, 26 Jul 2008 08:25:18 +0000 (09:25 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 18 Oct 2008 10:51:48 +0000 (11:51 +0100)
This makes the driver erase a block when it doesn't find any
existing saved log messages which is safer than assuming the
flash was already erased.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/mtdoops.c

index 6f6b2f3c70dffbb277acad057447858d41ed7447..aebb3b27edbd7554135b7e4899850eb19f929b28 100644 (file)
@@ -258,9 +258,7 @@ static void find_next_position(struct mtdoops_context *cxt)
        if (maxcount == 0xffffffff) {
                cxt->nextpage = 0;
                cxt->nextcount = 1;
-               cxt->ready = 1;
-               printk(KERN_DEBUG "mtdoops: Ready %d, %d (first init)\n",
-                               cxt->nextpage, cxt->nextcount);
+               schedule_work(&cxt->work_erase);
                return;
        }