Browse Source

flash: fix bug in error propagation of flash write_image

when a write/unlock/erase failed during write_image, then
an error was not propagated back up so e.g. flash write
image from tcl scripts would not throw an exception.

Also flash filling speed was printed even when the
operation failed. Output is now less confusing.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
tags/v0.5.0-rc1
Øyvind Harboe 13 years ago
parent
commit
b6a8254065
3 changed files with 3 additions and 6 deletions
  1. +2
    -4
      src/flash/nor/cfi.c
  2. +0
    -1
      src/flash/nor/core.c
  3. +1
    -1
      src/flash/nor/tcl.c

+ 2
- 4
src/flash/nor/cfi.c View File

@@ -2383,8 +2383,6 @@ static int cfi_probe(struct flash_bank *bank)
*/
if (cfi_info->not_cfi == 0)
{
int retval;

/* enter CFI query mode
* according to JEDEC Standard No. 68.01,
* a single bus sequence with address = 0x55, data = 0x98 should put
@@ -2716,7 +2714,7 @@ static int cfi_protect_check(struct flash_bank *bank)
return ERROR_OK;
}

static int cfi_info(struct flash_bank *bank, char *buf, int buf_size)
static int get_cfi_info(struct flash_bank *bank, char *buf, int buf_size)
{
int printed;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
@@ -2806,5 +2804,5 @@ struct flash_driver cfi_flash = {
/* FIXME: access flash at bus_width size */
.erase_check = default_flash_blank_check,
.protect_check = cfi_protect_check,
.info = cfi_info,
.info = get_cfi_info,
};

+ 0
- 1
src/flash/nor/core.c View File

@@ -599,7 +599,6 @@ int flash_write_unlock(struct target *target, struct image *image,
}

/* find the corresponding flash bank */
int retval;
retval = get_flash_bank_by_addr(target, run_address, false, &c);
if (retval != ERROR_OK)
return retval;


+ 1
- 1
src/flash/nor/tcl.c View File

@@ -576,7 +576,7 @@ COMMAND_HANDLER(handle_flash_fill_command)
}
}

if (duration_measure(&bench) == ERROR_OK)
if ((retval == ERROR_OK) && (duration_measure(&bench) == ERROR_OK))
{
command_print(CMD_CTX, "wrote %" PRIu32 " bytes to 0x%8.8" PRIx32
" in %fs (%0.3f KiB/s)", wrote, address,


Loading…
Cancel
Save