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