From: roystonvasey <mik...@ma...> - 2011-06-21 03:53:13
|
Dear List, There seems to be a regression problem with the MTD driver in kernel 2.6.36. Essentially any Overos with manufacturer marked bad blocks in the NAND will fail. During an erase cycle any bad blocks can be seen: flash_eraseall -j /dev/mtd4 Erasing 128 Kibyte @ 5400000 -- 33 % complete. Cleanmarker written at 53e0000. flash_eraseall: /dev/mtd4: MTD Erase failure: Input/output error Erasing 128 Kibyte @ 6780000 -- 41 % complete. Cleanmarker written at 6760000. flash_eraseall: /dev/mtd4: MTD Erase failure: Input/output error Erasing 128 Kibyte @ cac0000 -- 81 % complete. Cleanmarker written at caa0000. flash_eraseall: /dev/mtd4: MTD Erase failure: Input/output error Erasing 128 Kibyte @ f980000 -- 100 % complete.Cleanmarker written at f960000. Under 2.6.34 the file system can be mounted and used without any problem. Under 2.6.36 the console goes mental with "uncorrectable error :" messages inter dispersed with "mtd->read(0x1fc08 bytes from 0xcac03f8) returned ECC error" messages until the kernel finally gives up. I Googled about and found reference to this from August 2010. "Commit c7b28e25cb9beb943aead770ff14551b55fa8c79 caused a regression in detection of factory-set bad block markers, especially for certain small-page NAND. This fix removes some unneeded constraints on using NAND_SMALL_BADBLOCK_POS, making the detection code more correct. This regression can be seen, for example, in Hynix HY27US081G1M and similar." I tried the suggested patch but that didn't solve the problem. Has anyone else seen this or have any insight into the problem? Cheers Mike. -- View this message in context: http://old.nabble.com/NAND-bad-block-regression-tp31891148p31891148.html Sent from the Gumstix mailing list archive at Nabble.com. |