Commit c64d4419 authored by Tokunori Ikegami's avatar Tokunori Ikegami Committed by Boris Brezillon
Browse files

mtd: cfi_cmdset_0002: Change erase one block to enable XIP once



To enable XIP it is executed both normal and error cases.
This call can be moved after the for loop as same with erase chip.

Signed-off-by: default avatarTokunori Ikegami <ikegami@allied-telesis.co.jp>
Reviewed-by: default avatarJoakim Tjernlund <Joakim.Tjernlund@infinera.com>
Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
Cc: linux-mtd@lists.infradead.org
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@bootlin.com>
parent 79ca484b
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -2389,13 +2389,10 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
			chip->erase_suspended = 0;
		}

		if (chip_good(map, adr, map_word_ff(map))) {
			xip_enable(map, chip, adr);
		if (chip_good(map, adr, map_word_ff(map)))
			break;
		}

		if (time_after(jiffies, timeo)) {
			xip_enable(map, chip, adr);
			printk(KERN_WARNING "MTD %s(): software timeout\n",
			       __func__);
			ret = -EIO;
@@ -2418,6 +2415,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
	}

	chip->state = FL_READY;
	xip_enable(map, chip, adr);
	DISABLE_VPP(map);
	put_chip(map, chip, adr);
	mutex_unlock(&chip->mutex);