aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTokunori Ikegami <[email protected]>2018-05-30 18:32:30 +0900
committerBoris Brezillon <[email protected]>2018-05-30 21:38:29 +0200
commitc64d4419a17cfb39a5b573f9016cd02ade4c9a64 (patch)
treeb42b8653bfd3f891cf22d5b50cf2bf9b6208ccd7
parent79ca484b613041ca223f74b34608bb6f5221724b (diff)
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: Tokunori Ikegami <[email protected]> Reviewed-by: Joakim Tjernlund <[email protected]> Cc: Chris Packham <[email protected]> Cc: Brian Norris <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Boris Brezillon <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Richard Weinberger <[email protected]> Cc: Cyrille Pitchen <[email protected]> Cc: [email protected] Signed-off-by: Boris Brezillon <[email protected]>
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0002.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index d8e3a737c62f..78b69ccd0b65 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);