From 3c6eebb65630ed8af593512c8f982d1531b4b1bb Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Fri, 13 Jan 2012 18:11:47 -0800 Subject: [PATCH] --- yaml --- r: 298079 b: refs/heads/master c: 009184296d957d864d6fa9ac2dd192d29e069878 h: refs/heads/master i: 298077: 4c305c96283b57f15c2a534909e686d34f88ad45 298075: eff758219b3edc1829eda7c1b6c465b9552911e4 298071: 5082b9c3a9bf88da4a8ee1c06efd3ef1bc302c6b 298063: d36b6bb2690db6d6f5703eb198f032f6bb71c05a 298047: 1093d32d90638cd663c58b59108346f53d681c40 v: v3 --- [refs] | 2 +- trunk/drivers/mtd/nand/nand_base.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d1babcced009..951ceec1fff1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 152b861622d55f7b17cb6069bd0b275fb559c29a +refs/heads/master: 009184296d957d864d6fa9ac2dd192d29e069878 diff --git a/trunk/drivers/mtd/nand/nand_base.c b/trunk/drivers/mtd/nand/nand_base.c index 8a393f9e6027..cd827d5a8255 100644 --- a/trunk/drivers/mtd/nand/nand_base.c +++ b/trunk/drivers/mtd/nand/nand_base.c @@ -394,6 +394,17 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs) uint8_t buf[2] = { 0, 0 }; int block, ret, i = 0; + if (!(chip->bbt_options & NAND_BBT_USE_FLASH)) { + struct erase_info einfo; + + /* Attempt erase before marking OOB */ + memset(&einfo, 0, sizeof(einfo)); + einfo.mtd = mtd; + einfo.addr = ofs; + einfo.len = 1 << chip->phys_erase_shift; + nand_erase_nand(mtd, &einfo, 0); + } + if (chip->bbt_options & NAND_BBT_SCANLASTPAGE) ofs += mtd->erasesize - mtd->writesize;