aboutsummaryrefslogtreecommitdiff
path: root/src/flash
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2014-01-17 14:06:51 +0400
committerSpencer Oliver <spen@spen-soft.co.uk>2014-02-04 21:38:40 +0000
commitfacd0e7827926d0639260be40e9cc4c595794194 (patch)
treea4f480bb18520dddea4a71cc31acec25cdc5c7ba /src/flash
parentda9bee3ede482556865568b148aecb0ff5f06a62 (diff)
flash/nor/mdr.c: fix uninitialised variable warning
Caught (actually, it's breaking the build) by clang 3.3. Change-Id: Ife6fabf8a57e6c90ab45aaaf75557c984ac6772c Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1875 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/flash')
-rw-r--r--src/flash/nor/mdr.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/flash/nor/mdr.c b/src/flash/nor/mdr.c
index 3ecee1c8..650abfd6 100644
--- a/src/flash/nor/mdr.c
+++ b/src/flash/nor/mdr.c
@@ -159,7 +159,7 @@ static int mdr_erase(struct flash_bank *bank, int first, int last)
retval = target_write_u32(target, FLASH_KEY, KEY);
if (retval != ERROR_OK)
- goto reset_pg_and_lock;
+ return retval;
retval = target_read_u32(target, FLASH_CMD, &flash_cmd);
if (retval != ERROR_OK)
@@ -353,21 +353,22 @@ static int mdr_write(struct flash_bank *bank, uint8_t *buffer,
retval = target_read_u32(target, MD_PER_CLOCK, &cur_per_clock);
if (retval != ERROR_OK)
- return retval;
+ goto free_buffer;
if (!(cur_per_clock & MD_PER_CLOCK_RST_CLK)) {
/* Something's very wrong if the RST_CLK module is not clocked */
LOG_ERROR("Target needs reset before flash operations");
- return ERROR_FLASH_OPERATION_FAILED;
+ retval = ERROR_FLASH_OPERATION_FAILED;
+ goto free_buffer;
}
retval = target_write_u32(target, MD_PER_CLOCK, cur_per_clock | MD_PER_CLOCK_EEPROM);
if (retval != ERROR_OK)
- return retval;
+ goto free_buffer;
retval = target_write_u32(target, FLASH_KEY, KEY);
if (retval != ERROR_OK)
- goto reset_pg_and_lock;
+ goto free_buffer;
retval = target_read_u32(target, FLASH_CMD, &flash_cmd);
if (retval != ERROR_OK)
@@ -466,6 +467,7 @@ reset_pg_and_lock:
if (retval == ERROR_OK)
retval = retval2;
+free_buffer:
if (new_buffer)
free(new_buffer);