Bug in cfi_cmdset_0002.c in linux-2.6.8.1

Manfred Gruber gruber.m at utanet.at
Wed Sep 15 04:16:54 EDT 2004


Am Dienstag, 14. September 2004 21:41 schrieb Thayne Harbaugh:
> On Thu, 2004-08-26 at 15:11 +0200, Jochen Karrer wrote:
> > Hi,
> > jffs2 did not work in linux-2.6.8.1 because single word writes at the end
> > of a buffer write are done with the wrong address:
> >
> > ---
> > /home/jkarrer/kernel/linux-2.6.8.1/drivers/mtd/chips/cfi_cmdset_0002.c
> > Sat Aug 14 12:55:20 2004
> > +++ cfi_cmdset_0002.c	Thu Aug 26 14:33:42 2004
> > @@ -1128,7 +1128,7 @@
> >  	if (len) {
> >  		size_t retlen_dregs = 0;
> >
> > -		ret = cfi_amdstd_write_words(mtd, to, len, &retlen_dregs, buf);
> > +		ret = cfi_amdstd_write_words(mtd, ofs + (chipnum<<cfi->chipshift),
> > len, &retlen_dregs, buf);
> >
> >  		*retlen += retlen_dregs;
> >  		return ret;
>
> I never saw that this patch was committed.  I didn't do anything with it
> because I'm not so familiar with that piece in cfi_cmdset_0002.c (and am
> too lazy to read the function).  I did notice that Steven Scholz
> confirmed that it fixed problems he was seeing.
>
> Anyone else that cares should comment now or I'll commit it so that it
> doesn't get forgotten.

At my point this patch works good for my AMD flash, i dont get timeouts now.

Hope it helps regards manfred




More information about the linux-mtd mailing list