str7x: fix error propagation

stick to convention of "retval" being used as error value to
be propagated and use "flash_flags" local variable for flash
flags read from how.

Change-Id: I63f1f2248b4f4538d6cd7634ae277f7c0aadc346
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Reviewed-on: http://openocd.zylin.com/178
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
__archive__
Øyvind Harboe 2011-11-07 21:02:48 +01:00 committed by Spencer Oliver
parent ca45e700b1
commit 4bea65f1b2
1 changed files with 24 additions and 21 deletions

View File

@ -284,45 +284,45 @@ static int str7x_waitbusy(struct flash_bank *bank)
static int str7x_result(struct flash_bank *bank) static int str7x_result(struct flash_bank *bank)
{ {
struct target *target = bank->target; struct target *target = bank->target;
uint32_t retval; uint32_t flash_flags;
int err; int retval;
err = target_read_u32(target, str7x_get_flash_adr(bank, FLASH_ER), &retval); retval = target_read_u32(target, str7x_get_flash_adr(bank, FLASH_ER), &flash_flags);
if (err != ERROR_OK) if (retval != ERROR_OK)
return err; return retval;
if (retval & FLASH_WPF) if (flash_flags & FLASH_WPF)
{ {
LOG_ERROR("str7x hw write protection set"); LOG_ERROR("str7x hw write protection set");
err = ERROR_FAIL; retval = ERROR_FAIL;
} }
if (retval & FLASH_RESER) if (flash_flags & FLASH_RESER)
{ {
LOG_ERROR("str7x suspended program erase not resumed"); LOG_ERROR("str7x suspended program erase not resumed");
err = ERROR_FAIL; retval = ERROR_FAIL;
} }
if (retval & FLASH_10ER) if (flash_flags & FLASH_10ER)
{ {
LOG_ERROR("str7x trying to set bit to 1 when it is already 0"); LOG_ERROR("str7x trying to set bit to 1 when it is already 0");
err = ERROR_FAIL; retval = ERROR_FAIL;
} }
if (retval & FLASH_PGER) if (flash_flags & FLASH_PGER)
{ {
LOG_ERROR("str7x program error"); LOG_ERROR("str7x program error");
err = ERROR_FAIL; retval = ERROR_FAIL;
} }
if (retval & FLASH_ERER) if (flash_flags & FLASH_ERER)
{ {
LOG_ERROR("str7x erase error"); LOG_ERROR("str7x erase error");
err = ERROR_FAIL; retval = ERROR_FAIL;
} }
if (err == ERROR_OK) if (retval == ERROR_OK)
{ {
if (retval & FLASH_ERR) if (flash_flags & FLASH_ERR)
{ {
/* this should always be set if one of the others are set... */ /* this should always be set if one of the others are set... */
LOG_ERROR("str7x write operation failed / bad setup"); LOG_ERROR("str7x write operation failed / bad setup");
err = ERROR_FAIL; retval = ERROR_FAIL;
} }
} }
@ -335,7 +335,7 @@ static int str7x_protect_check(struct flash_bank *bank)
struct target *target = bank->target; struct target *target = bank->target;
int i; int i;
uint32_t retval; uint32_t flash_flags;
if (bank->target->state != TARGET_HALTED) if (bank->target->state != TARGET_HALTED)
{ {
@ -343,11 +343,14 @@ static int str7x_protect_check(struct flash_bank *bank)
return ERROR_TARGET_NOT_HALTED; return ERROR_TARGET_NOT_HALTED;
} }
target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVWPAR), &retval); int retval;
retval = target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVWPAR), &flash_flags);
if (retval != ERROR_OK)
return retval;
for (i = 0; i < bank->num_sectors; i++) for (i = 0; i < bank->num_sectors; i++)
{ {
if (retval & str7x_info->sector_bits[i]) if (flash_flags & str7x_info->sector_bits[i])
bank->sectors[i].is_protected = 0; bank->sectors[i].is_protected = 0;
else else
bank->sectors[i].is_protected = 1; bank->sectors[i].is_protected = 1;