Browse Source

fix error handling in flash fill

git-svn-id: svn://svn.berlios.de/openocd/trunk@1074 b42882b7-edfa-0310-969c-e2dbd0fdcd60
tags/v0.1.0
oharboe 15 years ago
parent
commit
824c270142
1 changed files with 7 additions and 11 deletions
  1. +7
    -11
      src/flash/flash.c

+ 7
- 11
src/flash/flash.c View 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)) for (wrote=0; wrote<(count*wordsize); wrote+=sizeof(chunk))
{ {
int cur_size = MIN( (count*wordsize - wrote) , 1024 ); 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) if (err!=ERROR_OK)
break;
return err;
wrote += cur_size;
} }


if ((retval = duration_stop_measure(&duration, &duration_text)) != ERROR_OK) if ((retval = duration_stop_measure(&duration, &duration_text)) != ERROR_OK)


Loading…
Cancel
Save