Bonjour Scott,

Le Tue, 10 Mar 2015 13:49:46 -0500, Scott Wood
<scottw...@freescale.com> a écrit :

> On Tue, 2015-03-10 at 13:54 +0100, Albert ARIBAUD wrote:
> > Hi Scott,
> > 
> > Le Mon, 9 Mar 2015 18:51:03 -0500, Scott Wood <scottw...@freescale.com>
> > a écrit :
> > 
> > > On Thu, 2015-03-05 at 07:46 +0100, Albert ARIBAUD (3ADEV) wrote:
> > > > +       while (left) {
> > > > +               if (read_single_page(dst, page) >= 0) {
> > > > +                       dst += LARGE_PAGE_SIZE;
> > > > +                       page++;
> > > > +                       left--;
> > > > +               }
> > > > +       }
> > > 
> > > No bad block skipping?
> > 
> > Hmm... actually the 'left--' should be just after the 'if' block,
> > otherwise not only will the code not skip a bad block, it will actually
> > loop infinitely trying to read it. Will fix in v4. Thanks for pointing
> > this out!
> 
> What causes read_single_page() to fail when there's a bad block marker?
> Especially if the marker is on a different page of the block.  I'm not
> talking about ECC failures (which should not silently be skipped).

Oh gods, I see, sorry. I was indeed mixing up ECC errors and bad block
markers. Show I'm really not good at NAND. :/

I'll look up how other drivers do it and add bad block skipping there.

> -Scott

Cordialement,
Albert ARIBAUD
3ADEV
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to