OMAP NAND Driver ECC Read broken

Sascha Hauer s.hauer at pengutronix.de
Fri Mar 27 00:52:09 PDT 2015


Hi Gabor,

On Thu, Mar 26, 2015 at 08:13:38AM +0000, Gabor Janak (g.janak at agilion.de) wrote:
> Hello,
> 
> on all Platforms which using
> drivers/mtd/nand/nand_omap_gpmc.c
> with  ECC Mode OMAP_ECC_HAMMING_CODE_HW_ROMCODE
> (in DTS: bch8_hw_romcode )  the Code is only check the first part of a block page.
> 
> The special Read-function read always a whole page, but only the ECC results oft he first block is checked.
> Any Error after first 512Byte are not detected and not corrected.
> 
> I'm Using barebox-2014.09  on am335x . But it looks in the current HEAD same ...
> 
> A fast Workaround hack :
> In function omap_correct_bch:
> Settings blocks always to 4  and because eccsize is 13
> 
> Changing at the end:
>                calc_ecc = calc_ecc + eccsize;
>                 read_ecc = read_ecc + eccsize+1; //add 1 because in Flash 13+1 is written
>                 dat += 512;
> 
> 
> I know this ist he wrong way.... ;)
> 
> If i have some time, i will try to search a better solution, but currently i have not much time.

It would be great if you could find the time to write a patch. Thanks
for noting this issue anyway, it may safe other peoples time.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list