[U-Boot] [PATCH] NAND: Really ignore bad blocks when scrubbing
Scott Wood
scottwood at freescale.com
Fri Aug 19 22:08:33 CEST 2011
On 08/16/2011 12:03 PM, Marek Vasut wrote:
> Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
> ---
> drivers/mtd/nand/nand_base.c | 2 +-
> drivers/mtd/nand/nand_util.c | 1 +
> include/linux/mtd/mtd.h | 1 +
> 3 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> index a5f872e..3093067 100644
> --- a/drivers/mtd/nand/nand_base.c
> +++ b/drivers/mtd/nand/nand_base.c
> @@ -2224,7 +2224,7 @@ int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr,
> /*
> * heck if we have a bad block, we do not erase bad blocks !
> */
> - if (nand_block_checkbad(mtd, ((loff_t) page) <<
> + if (!instr->scrub && nand_block_checkbad(mtd, ((loff_t) page) <<
> chip->page_shift, 0, allowbbt)) {
> printk(KERN_WARNING "nand_erase: attempt to erase a "
> "bad block at page 0x%08x\n", page);
Changelog should describe why the existing mechanism of overriding the
block_bad method is insufficient (I think there may be issues if you try
to scrub before the bbt is first built) -- and if this supersedes that
mechanism, that mechanism should be removed.
-Scott
More information about the U-Boot
mailing list