Bad Blocks On JFFS2/NAND

Simon Haynes simon at baydel.com
Tue Oct 19 11:18:25 EDT 2004


I am using an old mtd layer which has nand.c and not nand_base.c.
I have hacked this accordingly and I will see if I can produce the same 
problem.

I did try to update my kernel but patchin.sh failed and I had to hack some 
header files to get a kernel. This kernel crashed in a couple of different 
places when writing to my SSFDC partition. I guess things have changed here 
again ?

Cheers

Simon.

On Tuesday 19 Oct 2004 4:02 pm, Thomas Gleixner wrote:
> On Tue, 2004-10-19 at 16:39, Simon Haynes wrote:
> > Thomas,
> >
> > I am using the ready pin.
>
> Hmm, the strange thing is, that it does not complain about a failed
> erase. It complaines, when checking if the chip is really erased.
>
> Can you try the hack below, which invalidates the page cachen
> unconditionally on erase ?
>
> tglx
>
> RCS file: /home/cvs/mtd/drivers/mtd/nand/nand_base.c,v
> retrieving revision 1.121
> diff -u -r1.121 nand_base.c
> --- nand_base.c 6 Oct 2004 19:53:11 -0000       1.121
> +++ nand_base.c 19 Oct 2004 15:09:35 -0000
> @@ -2091,8 +2091,7 @@
>
>                 /* Invalidate the page cache, if we erase the block
> which contains
>                    the current cached page */
> -               if (page <= this->pagebuf && this->pagebuf < (page +
> pages_per_block))
> -                       this->pagebuf = -1;
> +               this->pagebuf = -1;
>
>                 this->erase_cmd (mtd, page & this->pagemask);
>
>
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/




More information about the linux-mtd mailing list