[PATCH v6 5/5] mtd: cfi_cmdset_0002: Change erase one block to enable XIP once
smtpuser
smtpuser at allied-telesis.co.jp
Tue May 15 10:11:20 PDT 2018
From: Tokunori Ikegami <ikegami at allied-telesis.co.jp>
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: Tokunori Ikegami <ikegami at allied-telesis.co.jp>
Cc: Joakim Tjernlund <Joakim.Tjernlund at infinera.com>
Cc: Chris Packham <chris.packham at alliedtelesis.co.nz>
Cc: Brian Norris <computersforpeace at gmail.com>
Cc: David Woodhouse <dwmw2 at infradead.org>
Cc: Boris Brezillon <boris.brezillon at free-electrons.com>
Cc: Marek Vasut <marek.vasut at gmail.com>
Cc: Richard Weinberger <richard at nod.at>
Cc: Cyrille Pitchen <cyrille.pitchen at wedev4u.fr>
Cc: linux-mtd at lists.infradead.org
---
Changes since v5:
- None since this change is implemented by v6 patch series.
drivers/mtd/chips/cfi_cmdset_0002.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index 6adda4dc2007..6c681cbf2d37 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -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);
--
2.16.1
More information about the linux-mtd
mailing list