[U-Boot] [PATCH] NAND: Really ignore bad blocks when scrubbing
Marek Vasut
marek.vasut at gmail.com
Fri Aug 19 23:47:23 CEST 2011
On Friday, August 19, 2011 10:08:33 PM Scott Wood wrote:
> 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.
Indeed, this completely ignores the BBT, unlike the previous way. From my
understanding, scrub should behave this way, right ?
>
> -Scott
More information about the U-Boot
mailing list