[MTD] mtdoops: Fix a bug where block may not be erased
Richard Purdie [Sat, 26 Jul 2008 08:25:18 +0000 (09:25 +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 6f6b2f3..aebb3b2 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;
        }