nrf51: fix checks for is_erased

is_erased can take the value 0 (no), 1 (yes), or -1 (unknown).
Checks like (!is_erased) don't do the right thing if it's -1.

Change-Id: I10ba32c99494ca803e0a7a1ba56fdd78184b96bb
Signed-off-by: Jim Paris <jim@jtan.com>
Reviewed-on: http://openocd.zylin.com/2366
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
Jim Paris 2014-10-29 19:09:49 -04:00 committed by Spencer Oliver
parent 56802d794e
commit a59e8058e7
1 changed files with 2 additions and 2 deletions

View File

@ -642,7 +642,7 @@ static int nrf51_write_page(struct flash_bank *bank, uint32_t offset, const uint
if (sector->is_protected)
goto error;
if (!sector->is_erased) {
if (sector->is_erased != 1) {
res = nrf51_erase_page(bank, chip, sector);
if (res != ERROR_OK) {
LOG_ERROR("Failed to erase sector @ 0x%08"PRIx32, sector->offset);
@ -784,7 +784,7 @@ static int nrf51_uicr_flash_write(struct flash_bank *bank,
if (res != ERROR_OK)
return res;
if (!sector->is_erased) {
if (sector->is_erased != 1) {
res = nrf51_erase_page(bank, chip, sector);
if (res != ERROR_OK)
return res;