Hi, I've been looking at how yaffs2 interacts with the Linux MTD layer with a view to implementing my own interface layer for a yaffs-direct based bootloader I'm writing. I noticed that if the MTD layer finds and corrects ECC errors, then nand_read will return -EUCLEAN rather than 0. Yaffs doesn't seem to recognise this return code as "we had some problems, but fixed them", so will regard these reads as failures. This will cause the block to be prematurely marked bad. My flash device data sheet suggests that this scenario is likely enough to happen that the system should not mark blocks bad in this case. Is my analysis wrong? Is there some reason why I shouldn't allow a "corrected read" to be a successful read in my bootloader's nand interface layer? Regards, Chris.