diff options
author | Scott Wood <scottwood@freescale.com> | 2008-12-16 14:24:16 -0600 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2008-12-16 14:40:34 -0600 |
commit | ff49ea8977b56916edd5b1766d9939010e30b181 (patch) | |
tree | 98a82242c8fc9b2d2b26ace7cce6f25984f48082 /drivers/mtd/nand/nand_base.c | |
parent | 7f202217356f19e519e6ec57a29de9af73067037 (diff) |
NAND: Mark the BBT as scanned prior to calling scan_bbt.
Otherwise, recursion can occur if scan_bbt does not find a bad block
table, and tries to write one, and the attempt to erase the BBT area
causes a bad block check.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'drivers/mtd/nand/nand_base.c')
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index ba05b762ed..94a65d4e72 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -460,8 +460,8 @@ static int nand_block_checkbad(struct mtd_info *mtd, loff_t ofs, int getchip, struct nand_chip *chip = mtd->priv; if (!(chip->options & NAND_BBT_SCANNED)) { - chip->scan_bbt(mtd); chip->options |= NAND_BBT_SCANNED; + chip->scan_bbt(mtd); } if (!chip->bbt) |