Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c585da9f authored by Boris Brezillon's avatar Boris Brezillon
Browse files

mtd: Initialize ->fail_addr early in mtd_erase()



mtd_erase() can return an error before ->fail_addr is initialized to
MTD_FAIL_ADDR_UNKNOWN. Move this initialization at the very beginning
of the function.

Signed-off-by: default avatarBoris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: default avatarRichard Weinberger <richard@nod.at>
parent f0a37a8d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -953,6 +953,8 @@ EXPORT_SYMBOL_GPL(__put_mtd_device);
 */
int mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
{
	instr->fail_addr = MTD_FAIL_ADDR_UNKNOWN;

	if (!mtd->erasesize || !mtd->_erase)
		return -ENOTSUPP;

@@ -961,7 +963,6 @@ int mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
	if (!(mtd->flags & MTD_WRITEABLE))
		return -EROFS;

	instr->fail_addr = MTD_FAIL_ADDR_UNKNOWN;
	if (!instr->len) {
		instr->state = MTD_ERASE_DONE;
		mtd_erase_callback(instr);