nand: fixed failed reads on corrected ECC errors in nand_util.c

Signed-off-by: Valeriy Glushkov <gvv@lstec.com>
Signed-off-by: Paulraj, Sandeep <s-paulraj@ti.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
Valeriy Glushkov 2009-07-14 13:51:10 +03:00 committed by Scott Wood
parent ed727d394c
commit 3ebf70db54

View File

@ -567,10 +567,10 @@ int nand_read_skip_bad(nand_info_t *nand, loff_t offset, size_t *length,
if (len_incl_bad == *length) {
rval = nand_read (nand, offset, length, buffer);
if (rval != 0)
printf ("NAND read from offset %llx failed %d\n",
offset, rval);
if (!rval || rval == -EUCLEAN)
return 0;
printf ("NAND read from offset %llx failed %d\n",
offset, rval);
return rval;
}
@ -591,7 +591,7 @@ int nand_read_skip_bad(nand_info_t *nand, loff_t offset, size_t *length,
read_length = nand->erasesize - block_offset;
rval = nand_read (nand, offset, &read_length, p_buffer);
if (rval != 0) {
if (rval && rval != -EUCLEAN) {
printf ("NAND read from offset %llx failed %d\n",
offset, rval);
*length -= left_to_read;