mtd: Unconditionally update ->fail_addr and ->addr in part_erase()

->fail_addr and ->addr can be updated no matter the result of
parent->_erase(), we just need to remove the code doing the same thing
in mtd_erase_callback() to avoid adjusting those fields twice.

Note that this can be done because all MTD users have been converted to
not pass an erase_info->callback() and are thus only taking the
->addr_fail and ->addr fields into account after part_erase() has
returned.

While we're at it, get rid of the erase_info->mtd field which was only
needed to let mtd_erase_callback() get the partition device back.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
Boris Brezillon
2018-02-12 22:03:10 +01:00
parent 884cfd9023
commit 8f347c4232
18 changed files with 6 additions and 32 deletions

View File

@@ -342,7 +342,6 @@ static int erase_xfer(partition_t *part,
if (!erase)
return -ENOMEM;
erase->mtd = part->mbd.mtd;
erase->addr = xfer->Offset;
erase->len = 1 << part->header.EraseUnitSize;