For Micron M29EW,20ms delay is needed after erase operation. Signed-off-by: BeanHuo <b...@micron.com> --- drivers/mtd/chips/cfi_cmdset_0002.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 5a4bfe3..9b0de91 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -509,6 +509,16 @@ static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi) cfi_udelay(500); } +static void cfi_fixup_m29ew_delay_after_erase(struct cfi_private *cfi) +{ + /* + * Resolving the Delay After ERASE Issue @low temperature. + * 20ms delay is needed after erase operation. + */ + if (is_m29ew(cfi)) + cfi_udelay(20000); +} + struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) { struct cfi_private *cfi = map->fldrv_priv; @@ -2397,6 +2407,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip, ret = -EIO; } + cfi_fixup_m29ew_delay_after_erase(cfi); chip->state = FL_READY; DISABLE_VPP(map); put_chip(map, chip, adr); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/