target: Fix calculation of erase size.
This commit is contained in:
parent
5950d8f56c
commit
120a2d9378
@ -199,7 +199,8 @@ int target_flash_erase(target *t, target_addr addr, size_t len)
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
while (len) {
|
while (len) {
|
||||||
struct target_flash *f = flash_for_addr(t, addr);
|
struct target_flash *f = flash_for_addr(t, addr);
|
||||||
size_t tmplen = MIN(len, f->length - (addr % f->length));
|
size_t tmptarget = MIN(addr + len, f->start + f->length);
|
||||||
|
size_t tmplen = tmptarget - addr;
|
||||||
ret |= f->erase(f, addr, tmplen);
|
ret |= f->erase(f, addr, tmplen);
|
||||||
addr += tmplen;
|
addr += tmplen;
|
||||||
len -= tmplen;
|
len -= tmplen;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user