From 6de2b2d14b0b80f392d0faa05db915141cbd40cf Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20Harboe?= Date: Wed, 16 Jun 2010 07:39:46 +0200 Subject: [PATCH] nand: when verify failed, it didn't return an error MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit when the verify failed, it didn't return an error, which breaks e.g. tcl scripts that rely on this for exceptions to work. Found by -Wshadow Signed-off-by: Øyvind Harboe --- src/flash/nand/tcl.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/flash/nand/tcl.c b/src/flash/nand/tcl.c index 1272bf62..592277e4 100644 --- a/src/flash/nand/tcl.c +++ b/src/flash/nand/tcl.c @@ -336,13 +336,14 @@ COMMAND_HANDLER(handle_nand_verify_command) while (file.size > 0) { - int retval = nand_read_page(nand, dev.address / dev.page_size, + retval = nand_read_page(nand, dev.address / dev.page_size, dev.page, dev.page_size, dev.oob, dev.oob_size); if (ERROR_OK != retval) { command_print(CMD_CTX, "reading NAND flash page failed"); nand_fileio_cleanup(&dev); - return nand_fileio_cleanup(&file); + nand_fileio_cleanup(&file); + return retval; } int bytes_read = nand_fileio_read(nand, &file); @@ -350,7 +351,8 @@ COMMAND_HANDLER(handle_nand_verify_command) { command_print(CMD_CTX, "error while reading file"); nand_fileio_cleanup(&dev); - return nand_fileio_cleanup(&file); + nand_fileio_cleanup(&file); + return ERROR_FAIL; } if ((dev.page && memcmp(dev.page, file.page, dev.page_size)) || @@ -359,7 +361,8 @@ COMMAND_HANDLER(handle_nand_verify_command) command_print(CMD_CTX, "NAND flash contents differ " "at 0x%8.8" PRIx32, dev.address); nand_fileio_cleanup(&dev); - return nand_fileio_cleanup(&file); + nand_fileio_cleanup(&file); + return ERROR_FAIL; } file.size -= bytes_read; @@ -389,12 +392,13 @@ COMMAND_HANDLER(handle_nand_dump_command) while (s.size > 0) { size_t size_written; - int retval = nand_read_page(nand, s.address / nand->page_size, + retval = nand_read_page(nand, s.address / nand->page_size, s.page, s.page_size, s.oob, s.oob_size); if (ERROR_OK != retval) { command_print(CMD_CTX, "reading NAND flash page failed"); - return nand_fileio_cleanup(&s); + nand_fileio_cleanup(&s); + return retval; } if (NULL != s.page) -- 2.39.5