flash: at91samd: fix use of is_erased in check · arduino/OpenOCD@08607ae (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Commit 08607ae
authored and
committed
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/2368Tested-by: jenkins Reviewed-by: Spencer Oliver spen@spen-soft.co.uk
File tree
1 file changed
lines changed
1 file changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -590,7 +590,7 @@ static int samd_erase(struct flash_bank *bank, int first, int last) | ||
590 | 590 | return ERROR_FLASH_OPERATION_FAILED; |
591 | 591 | } |
592 | 592 | |
593 | -if (!bank->sectors[s].is_erased) { | |
593 | +if (bank->sectors[s].is_erased != 1) { | |
594 | 594 | /* For each row in that sector */ |
595 | 595 | for (int r = s * rows_in_sector; r < (s + 1) * rows_in_sector; r++) { |
596 | 596 | res = samd_erase_row(bank->target, r * chip->page_size * 4); |