From mboxrd@z Thu Jan 1 00:00:00 1970 From: Valeriy Glushkov Date: Tue, 14 Jul 2009 13:51:10 +0300 Subject: [U-Boot] [PATCH] nand: fixed failed reads on corrected ECC errors in nand_util.c In-Reply-To: A4EF277FA49042A0A7B6F9E13CF038FF@gvv References: A4EF277FA49042A0A7B6F9E13CF038FF@gvv Message-ID: <124756867020-git-send-email-gvv@lstec.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Signed-off-by: Valeriy Glushkov Signed-off-by: Paulraj, Sandeep --- drivers/mtd/nand/nand_util.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/mtd/nand/nand_util.c b/drivers/mtd/nand/nand_util.c index fc16282..694ead6 100644 --- a/drivers/mtd/nand/nand_util.c +++ b/drivers/mtd/nand/nand_util.c @@ -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; -- 1.5.2.5