diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-06-16 07:39:46 +0200 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-06-16 07:39:46 +0200 |
commit | 6de2b2d14b0b80f392d0faa05db915141cbd40cf (patch) | |
tree | e1f904a9ca0a22693bbb1e5b47656558c02607de /src/flash/nand | |
parent | 72d227cd5e32a6b141026e31ca4702cd69c79e62 (diff) | |
download | openocd_libswd-6de2b2d14b0b80f392d0faa05db915141cbd40cf.tar.gz openocd_libswd-6de2b2d14b0b80f392d0faa05db915141cbd40cf.tar.bz2 openocd_libswd-6de2b2d14b0b80f392d0faa05db915141cbd40cf.tar.xz openocd_libswd-6de2b2d14b0b80f392d0faa05db915141cbd40cf.zip |
nand: when verify failed, it didn't return an error
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 <oyvind.harboe@zylin.com>
Diffstat (limited to 'src/flash/nand')
-rw-r--r-- | src/flash/nand/tcl.c | 16 |
1 files 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) |