Bug in cfi_cmdset_0002.c in linux-2.6.8.1

Thayne Harbaugh tharbaugh at lnxi.com
Tue Sep 14 15:41:28 EDT 2004


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.






More information about the linux-mtd mailing list