]> git.sur5r.net Git - openocd/commitdiff
fix error handling in flash fill
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 16 Oct 2008 13:37:59 +0000 (13:37 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 16 Oct 2008 13:37:59 +0000 (13:37 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1074 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/flash/flash.c

index fb9fa698b0b72d25015e86b2139e42777b57f8c9..08f3aaff563f795426a5dcfb75e5841b48714e4f 100644 (file)
@@ -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)