[patch 1/4] mtd-nand: davinci: Correct 4-bit error correction

Sudhakar Rajashekhara sudhakar.raj at ti.com
Wed Dec 2 03:29:53 EST 2009


On Mon, Nov 30, 2009 at 17:08:04, David Woodhouse wrote:
> On Tue, 2009-11-17 at 14:45 -0800, akpm at linux-foundation.org wrote:
> > +       /*
> > +        * ECC_STATE field reads 0x3 (Error correction complete) immediately
> > +        * after setting the 4BITECC_ADD_CALC_START bit. So if you immediately
> > +        * begin trying to poll for the state, you may fall right out of your
> > +        * loop without any of the correction calculations having taken place.
> > +        * The recommendation from the hardware team is to wait till ECC_STATE
> > +        * reads less than 4, which means ECC HW has entered correction state.
> > +        */
> > +       do {
> > +               ecc_state = (davinci_nand_readl(info,
> > +                               NANDFSR_OFFSET) >> 8) & 0x0f;
> > +               cpu_relax();
> > +       } while (ecc_state < 4); 
> 
> Please can this have a timeout. Infinite loops waiting for hardware are
> generally a bad idea.
> 

David,

I'll add the timeout and re-submit this patch.

Thanks,
Sudhakar





More information about the linux-mtd mailing list