Skip to content

Commit

Permalink
flash: at91samd: fix use of is_erased in check
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-on: http://openocd.zylin.com/2368
Tested-by: jenkins
Reviewed-by: Spencer Oliver <[email protected]>
  • Loading branch information
yurovsky authored and ntfreak committed Nov 24, 2014
1 parent 921eb42 commit 08607ae
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/flash/nor/at91samd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 08607ae

Please sign in to comment.