From 824c270142ee0c30417d686c600bb33920e79aaa Mon Sep 17 00:00:00 2001 From: oharboe Date: Thu, 16 Oct 2008 13:37:59 +0000 Subject: [PATCH] fix error handling in flash fill git-svn-id: svn://svn.berlios.de/openocd/trunk@1074 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/flash/flash.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/flash/flash.c b/src/flash/flash.c index fb9fa698b..08f3aaff5 100644 --- a/src/flash/flash.c +++ b/src/flash/flash.c @@ -792,20 +792,16 @@ int handle_flash_fill_command(struct command_context_s *cmd_ctx, char *cmd, char for (wrote=0; wrote<(count*wordsize); wrote+=sizeof(chunk)) { int cur_size = MIN( (count*wordsize - wrote) , 1024 ); - if (err == ERROR_OK) + flash_bank_t *bank; + bank = get_flash_bank_by_addr(target, address); + if(bank == NULL) { - flash_bank_t *bank; - bank = get_flash_bank_by_addr(target, address); - if(bank == NULL) - { - err = ERROR_FAIL; - break; - } - err = flash_driver_write(bank, chunk, address - bank->base + wrote, cur_size); - wrote += cur_size; + return ERROR_FAIL; } + err = flash_driver_write(bank, chunk, address - bank->base + wrote, cur_size); if (err!=ERROR_OK) - break; + return err; + wrote += cur_size; } if ((retval = duration_stop_measure(&duration, &duration_text)) != ERROR_OK)