summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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
commit6de2b2d14b0b80f392d0faa05db915141cbd40cf (patch)
treee1f904a9ca0a22693bbb1e5b47656558c02607de /src
parent72d227cd5e32a6b141026e31ca4702cd69c79e62 (diff)
downloadopenocd+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')
-rw-r--r--src/flash/nand/tcl.c16
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)