If we refer to the following code snippet from nand_util.c rval = nand_read (nand, offset, &read_length, p_buffer);
if (rval != 0) { printf ("NAND read from offset %llx failed %d\n", offset, rval); *length -= left_to_read; return rval; } The above code will return failure even after ECC errors are corrected. This is because of the following line of code in nand_base.c return mtd->ecc_stats.corrected - stats.corrected ? -EUCLEAN : 0; This is in the nand_do_read_ops in nand_bsae.c I see that changing if (rval != 0) to if (rval != 0 && rval != -EUCLEAN ) solves the problem. I can submit a patch if required. Thanks, Sandeep _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot