summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2008-07-26 09:25:18 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2008-10-18 11:51:48 +0100
commit43b5693d404127697d62962def8c1bfe3a89811a (patch)
treee671dbb20fb4bd50d8bb994aabbfe0459729176b
parentf0482ee3669a78bdb1e15b9f9c58a9f1ffc5a997 (diff)
downloadlinux-43b5693d404127697d62962def8c1bfe3a89811a.tar.gz
linux-43b5693d404127697d62962def8c1bfe3a89811a.tar.bz2
linux-43b5693d404127697d62962def8c1bfe3a89811a.zip
[MTD] mtdoops: Fix a bug where block may not be erased
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>
-rw-r--r--drivers/mtd/mtdoops.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/mtd/mtdoops.c b/drivers/mtd/mtdoops.c
index 6f6b2f3c70df..aebb3b27edbd 100644
--- a/drivers/mtd/mtdoops.c
+++ b/drivers/mtd/mtdoops.c
@@ -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;
}