2.6.20 : BUG in nand_do_read_oob with MTD_OOB_PLACE ?
Matthieu CASTET
matthieu.castet at parrot.fr
Fri Feb 9 10:09:59 EST 2007
Hi,
2.6.20 nand mtd seems to read wrongly oob in MTD_OOB_PLACE.
If I dump a page with uboot I get [1] and if I dump it with nanddump I get [2].
As you could can see OOB doesn't match. Moreover the 2 snd 8 bytes OOB data
given by nanddump are the 1st 8 bytes OOB of the next page.
If we look in nand_base.c, we saw that in case of MTD_OOB_PLACE, the len of oob
is set to chip->ecc.layout->oobavail. This seems wrong as user expect to be
mtd->oobsize.
Does this bug is know ?
It seems quite critical as it impact on jffs2 (at least
jffs2_check_nand_cleanmarker).
Matthieu
[1]
3f 00 57 00 0c 00 00 48 10 00 00 48 13 03 00 00
00 40 00 30 00 00 70 30 74 01 00 40 03 20 c2 e3
02 20 80 e0 02 00 50 e1 00 30 a0 e1 0e f0 a0 01
OOB:
96 a5 96 9a 05 ff c0 43
05 00 18 36 05 00 ff 0f
[2]
[....]
0x000001d0: 3f 00 57 00 0c 00 00 48 10 00 00 48 13 03 00 00
0x000001e0: 00 40 00 30 00 00 70 30 74 01 00 40 03 20 c2 e3
0x000001f0: 02 20 80 e0 02 00 50 e1 00 30 a0 e1 0e f0 a0 01
OOB Data: 96 a5 96 9a 05 ff c0 43 fc 03 00 9a 05 ff c0 43
More information about the linux-mtd
mailing list