u-boot/fs
Engling, Uwe 41ba7f525f jffs2: ECC corrected nand data is ignored
Hello,

I ran into a problem with the JFFS2 filesystem driver implemented in U-Boot.

I've got a NAND device that has correctable ECC errors (corrected somewhere in mtd/nand/nand_base.c).
The NAND driver tells the filesystem layer (jffs2_1pass.c) above that there occurred correctable ECC errors and returns with a "value > 0".
The JFFS2 driver recognizes the corrected ECC errors as real error and skips this block because the only accepts a "return value == 0" as correct.

This problem exists for over 8 years (I checked version 2010.09) so I'm a little bit worried that I interpreted something wrong or didn't get the whole context.

Can someone confirm this bug (and the bugfix) in the u-boot jffs2 driver?

There was a mail in 2012 that mentioned the same problem, but there was no patch:
http://u-boot.10912.n7.nabble.com/JFFS2-seems-to-drop-nand-data-with-ECC-corrections-td142008.html
Sometime after this discussion the return value of nand_read() changed from -EUCLEAN as correctable ECC error to a positive value with the count of ECC corrected errors.

With kind reguards,
Uwe Engling
2017-10-16 09:42:51 -04:00
..
btrfs fs: btrfs: Remove a foreign language note 2017-10-16 09:42:51 -04:00
cbfs fs: Kconfig: Add a separate config for FS_CBFS 2017-04-30 13:40:57 -04:00
cramfs fs: Kconfig: Add a separate option for FS_CRAMFS 2017-04-30 13:40:59 -04:00
ext4 fs/ext4/ext4fs.c: Free dirnode in error path of ext4fs_ls 2017-10-06 11:28:22 -04:00
fat fs/fat: Check malloc return values and fix memory leaks 2017-10-08 16:19:56 -04:00
jffs2 jffs2: ECC corrected nand data is ignored 2017-10-16 09:42:51 -04:00
reiserfs fs: Create a common fs_devread for ext4/reiserfs/zfs 2017-10-02 21:51:50 -04:00
sandbox sandboxfs: Fix resource leak 2016-12-02 10:37:47 -07:00
ubifs env: Rename common functions related to setenv() 2017-08-16 08:23:32 -04:00
yaffs2 treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
zfs fs: Create a common fs_devread for ext4/reiserfs/zfs 2017-10-02 21:51:50 -04:00
fs_internal.c fs: Create a common fs_devread for ext4/reiserfs/zfs 2017-10-02 21:51:50 -04:00
fs.c fs: Set .opendir to fs_opendir_unsupported for btrfs 2017-10-16 09:42:51 -04:00
Kconfig fs: btrfs: Add U-Boot fs handlers. 2017-10-02 21:52:18 -04:00
Makefile fs: btrfs: Add U-Boot fs handlers. 2017-10-02 21:52:18 -04:00