Message ID | 1303906161-24175-1-git-send-email-parth.saxena@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Brian, did you really intend to remove badblockbits? Maybe it should go back to nand_base.c? On Wed, Apr 27, 2011 at 3:09 PM, Saxena, Parth <parth.saxena@ti.com> wrote: > Commit e0b58d0 ("mtd: nand: add ->badblockbits for minimum number > of set bits in bad block byte") by Maxim Levitsky added > badblockbits to nand_chip to specify minimum number of set bits > in bad block byte. The patch initialized badblockbits to 8 in > nand_base.c, but later the initialization line got removed by commit > c7b28e2("mtd: nand: refactor BB marker detection"). After this all > NAND drivers with NAND_SKIP_BBTSCAN are forced to initialize it to 8. > Otherwise bad block identification will fail. > > As a result, mounting of empty jffs2 file system on omap3evm > (having bad blocks) failed giving the following error message - > > "mount: mounting /dev/mtdblock4 on /tmp failed: Input/output error" > > 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. > > Signed-off-by: Saxena, Parth <parth.saxena@ti.com> > Signed-off-by: Basheer, Mansoor Ahamed <mansoor.ahamed@ti.com> > --- > drivers/mtd/nand/omap2.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c > index 454f90c..350c77f 100644 > --- a/drivers/mtd/nand/omap2.c > +++ b/drivers/mtd/nand/omap2.c > @@ -1005,6 +1005,8 @@ static int __devinit omap_nand_probe(struct platform_device *pdev) > info->nand.options = pdata->devsize; > info->nand.options |= NAND_SKIP_BBTSCAN; > > + info->nand.badblockbits = 8; > + > /* NAND write protect off */ > gpmc_cs_configure(info->gpmc_cs, GPMC_CONFIG_WP, 0); > > -- > 1.6.2.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On 4/27/2011 8:45 AM, Grazvydas Ignotas wrote: > Brian, > > did you really intend to remove badblockbits? Maybe it should go back > to nand_base.c? No, I had no intention of the sorts! It surely should not have been removed in the first place. I will "ack" a patch to revert it, or next time I'm at my work machine I'll write one myself. As a defense for myself...I think I was relatively new to git + kernel hacking at the time I sent this patch. Sorry for the messup. > On Wed, Apr 27, 2011 at 3:09 PM, Saxena, Parth <parth.saxena@ti.com> wrote: >> Commit e0b58d0 ("mtd: nand: add ->badblockbits for minimum number >> of set bits in bad block byte") by Maxim Levitsky added >> badblockbits to nand_chip to specify minimum number of set bits >> in bad block byte. The patch initialized badblockbits to 8 in >> nand_base.c, but later the initialization line got removed by commit >> c7b28e2("mtd: nand: refactor BB marker detection"). After this all >> NAND drivers with NAND_SKIP_BBTSCAN are forced to initialize it to 8. >> Otherwise bad block identification will fail. Brian -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2011-04-28 at 20:30 +0300, Artem Bityutskiy wrote: > 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@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@ti.com>" here: > http://lists.infradead.org/pipermail/linux-mtd/2011-April/035221.html > > Reported-by: Saxena, Parth <parth.saxena@ti.com> > Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> > Cc: stable@kernel.org [2.6.36+] > --- > drivers/mtd/nand/nand_base.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) Any ack/nack/tested-by?
> -----Original Message----- > From: Artem Bityutskiy [mailto:dedekind1@gmail.com] > Sent: Thursday, April 28, 2011 11:01 PM > To: Saxena, Parth; Brian Norris > Cc: linux-mtd@lists.infradead.org; Basheer, Mansoor Ahamed; linux- > omap@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@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@ti.com>" here: > http://lists.infradead.org/pipermail/linux-mtd/2011-April/035221.html > > Reported-by: Saxena, Parth <parth.saxena@ti.com> > Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> > Cc: stable@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@ti.com> Acked By: Saxena, Parth <parth.saxena@ti.com> > -- > 1.7.2.3 > > -- > Best Regards, > Artem Bityutskiy (????? ????????) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2011-04-29 at 19:52 +0530, Saxena, Parth wrote: > > > -----Original Message----- > > From: Artem Bityutskiy [mailto:dedekind1@gmail.com] > > Sent: Thursday, April 28, 2011 11:01 PM > > To: Saxena, Parth; Brian Norris > > Cc: linux-mtd@lists.infradead.org; Basheer, Mansoor Ahamed; linux- > > omap@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@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@ti.com>" here: > > http://lists.infradead.org/pipermail/linux-mtd/2011-April/035221.html > > > > Reported-by: Saxena, Parth <parth.saxena@ti.com> > > Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> > > Cc: stable@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@ti.com> > Acked By: Saxena, Parth <parth.saxena@ti.com> Thanks, pushing to the l2-mtd-2.6.git.
On 4/29/2011 10:44 AM, Artem Bityutskiy wrote: > On Fri, 2011-04-29 at 19:52 +0530, Saxena, Parth wrote: >> >>> -----Original Message----- >>> From: Artem Bityutskiy [mailto:dedekind1@gmail.com] >>> Sent: Thursday, April 28, 2011 11:01 PM >>> To: Saxena, Parth; Brian Norris >>> Cc: linux-mtd@lists.infradead.org; Basheer, Mansoor Ahamed; linux- >>> omap@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@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@ti.com>" here: >>> http://lists.infradead.org/pipermail/linux-mtd/2011-April/035221.html >>> >>> Reported-by: Saxena, Parth<parth.saxena@ti.com> >>> Signed-off-by: Artem Bityutskiy<Artem.Bityutskiy@nokia.com> >>> Cc: stable@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@ti.com> >> Acked By: Saxena, Parth<parth.saxena@ti.com> > > Thanks, pushing to the l2-mtd-2.6.git. > As promised (but too late?): Acked-by: Brian Norris <computersforpeace@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2011-04-29 at 11:03 -0700, Brian Norris wrote: > As promised (but too late?): > > Acked-by: Brian Norris <computersforpeace@gmail.com> No, not late, I rebase my l2 tree with no shame :-) But once the patch hits the real mtd tree, then we never change it. So, I've added you tag, thanks.
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c index 454f90c..350c77f 100644 --- a/drivers/mtd/nand/omap2.c +++ b/drivers/mtd/nand/omap2.c @@ -1005,6 +1005,8 @@ static int __devinit omap_nand_probe(struct platform_device *pdev) info->nand.options = pdata->devsize; info->nand.options |= NAND_SKIP_BBTSCAN; + info->nand.badblockbits = 8; + /* NAND write protect off */ gpmc_cs_configure(info->gpmc_cs, GPMC_CONFIG_WP, 0);