[RFC] mtd: nand: Fix bad block identification issue

Artem Bityutskiy dedekind1 at gmail.com
Fri Apr 29 13:44:44 EDT 2011


On Fri, 2011-04-29 at 19:52 +0530, Saxena, Parth wrote:
> 
> > -----Original Message-----
> > From: Artem Bityutskiy [mailto:dedekind1 at gmail.com]
> > Sent: Thursday, April 28, 2011 11:01 PM
> > To: Saxena, Parth; Brian Norris
> > Cc: linux-mtd at lists.infradead.org; Basheer, Mansoor Ahamed; linux-
> > omap at vger.kernel.org
> > Subject: Re: [RFC] mtd: nand: Fix bad block identification issue
> > 
> > On Wed, 2011-04-27 at 17:39 +0530, Saxena, Parth wrote:
> > > This patch solves the above issue for omap by initialising
> > > badblockbits. We are working further on this to find a generic fix
> > > to the problem in nand_base.c.
> > 
> > But it looks like the generic solution is to return the line which was
> > accidentally removed, how about this patch
> > 
> > From: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
> > Date: Thu, 28 Apr 2011 20:26:59 +0300
> > Subject: [PATCH] mtd: return badblockbits back
> > 
> > In commit c7b28e25cb9beb943aead770ff14551b55fa8c79 the initialization of
> > the backblockbits was accidentally removed. This patch returns it back,
> > because otherwise some NAND drivers are broken.
> > 
> > This problem was reported by "Saxena, Parth <parth.saxena at ti.com>" here:
> > http://lists.infradead.org/pipermail/linux-mtd/2011-April/035221.html
> > 
> > Reported-by: Saxena, Parth <parth.saxena at ti.com>
> > Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
> > Cc: stable at kernel.org [2.6.36+]
> > ---
> >  drivers/mtd/nand/nand_base.c |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> > index 15510f2..5a7f817 100644
> > --- a/drivers/mtd/nand/nand_base.c
> > +++ b/drivers/mtd/nand/nand_base.c
> > @@ -3106,6 +3106,8 @@ ident_done:
> >  		chip->chip_shift += 32 - 1;
> >  	}
> > 
> > +	chip->badblockbits = 8;
> > +
> >  	/* Set the bad block position */
> >  	if (mtd->writesize > 512 || (busw & NAND_BUSWIDTH_16))
> >  		chip->badblockpos = NAND_LARGE_BADBLOCK_POS;
> [Saxena, Parth] 
> 
> Tested-By: Saxena, Parth <parth.saxena at ti.com>
> Acked By: Saxena, Parth <parth.saxena at ti.com>

Thanks, pushing to the l2-mtd-2.6.git.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)




More information about the linux-mtd mailing list