diff options
author | Andrey Yurovsky <yurovsky@gmail.com> | 2014-10-30 11:56:08 -0700 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2014-11-24 22:18:59 +0000 |
commit | 08607aefc0da2394bcce067989812081f742f5e2 (patch) | |
tree | 6e5b8bfbc04a0f7be57cc67bffbf5336f72cc417 /src | |
parent | 921eb4213a07e33a2536a72a35b66b4cb27d0984 (diff) | |
download | riscv-openocd-08607aefc0da2394bcce067989812081f742f5e2.zip riscv-openocd-08607aefc0da2394bcce067989812081f742f5e2.tar.gz riscv-openocd-08607aefc0da2394bcce067989812081f742f5e2.tar.bz2 |
flash: at91samd: fix use of is_erased in check
is_erased can be one of -1, 0, or 1 so it must not be checked like a
boolean value. In this case we want to erase a page unless we know it's
already erased so we just check for is_erased != 1.
Thanks to Jim Paris for pointing this out on another driver.
Change-Id: I4591186228153b64e5a9608a2aac18745e578d4a
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-on: http://openocd.zylin.com/2368
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/flash/nor/at91samd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/flash/nor/at91samd.c b/src/flash/nor/at91samd.c index 7c877c0..ece1fd2 100644 --- a/src/flash/nor/at91samd.c +++ b/src/flash/nor/at91samd.c @@ -590,7 +590,7 @@ static int samd_erase(struct flash_bank *bank, int first, int last) return ERROR_FLASH_OPERATION_FAILED; } - if (!bank->sectors[s].is_erased) { + if (bank->sectors[s].is_erased != 1) { /* For each row in that sector */ for (int r = s * rows_in_sector; r < (s + 1) * rows_in_sector; r++) { res = samd_erase_row(bank->target, r * chip->page_size * 4); |