xmc4xxx: Fix error propagation for erase_check callback

If an error occurs during xmc4xxx_blank_check_memory() aka .erase_check,
it would break out of the loop over flash sectors and return ERROR_OK.

Instead return the error code so that tcl.c can notify the user.

Change-Id: Ie2c1b7933eef2b240b28f8a292634fbbf5b31706
Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-on: http://openocd.zylin.com/3425
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
This commit is contained in:
Andreas Färber 2016-04-24 05:05:33 +02:00 committed by Freddie Chopin
parent a7ae20cc74
commit e03255e408
1 changed files with 3 additions and 3 deletions

View File

@ -620,7 +620,7 @@ static int xmc4xxx_enter_page_mode(struct flash_bank *bank)
* implement our own */
/** Checks whether a memory region is zeroed. */
int xmc4xxx_blank_check_memory(struct target *target,
static int xmc4xxx_blank_check_memory(struct target *target,
uint32_t address, uint32_t count, uint32_t *blank)
{
struct working_area *erase_check_algorithm;
@ -680,7 +680,7 @@ static int xmc4xxx_flash_blank_check(struct flash_bank *bank)
{
struct target *target = bank->target;
int i;
int retval;
int retval = ERROR_OK;
uint32_t blank;
if (bank->target->state != TARGET_HALTED) {
@ -704,7 +704,7 @@ static int xmc4xxx_flash_blank_check(struct flash_bank *bank)
bank->sectors[i].is_erased = 0;
}
return ERROR_OK;
return retval;
}
static int xmc4xxx_write_page(struct flash_bank *bank, const uint8_t *pg_buf,