From e03255e408bf1586350640114751b6e1290f5fef Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20F=C3=A4rber?= Date: Sun, 24 Apr 2016 05:05:33 +0200 Subject: [PATCH] xmc4xxx: Fix error propagation for erase_check callback MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: http://openocd.zylin.com/3425 Tested-by: jenkins Reviewed-by: Freddie Chopin --- src/flash/nor/xmc4xxx.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/flash/nor/xmc4xxx.c b/src/flash/nor/xmc4xxx.c index f676e8cdeb..31979302db 100644 --- a/src/flash/nor/xmc4xxx.c +++ b/src/flash/nor/xmc4xxx.c @@ -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, -- 2.30.2