OSDN Git Service

mtd: spi-nor: Clear WEL bit when erase or program errors occur
authorTudor Ambarus <tudor.ambarus@microchip.com>
Mon, 23 Mar 2020 17:50:40 +0000 (19:50 +0200)
committerTudor Ambarus <tudor.ambarus@microchip.com>
Mon, 23 Mar 2020 17:50:40 +0000 (19:50 +0200)
commite0fe5339d4886c48cdd68a2c49d602c4c1864c38
treeae0b30e2daccee58ec4f6ff2892d8015a111de19
parent6d4e346435b9b90bb7cca1d296adb6f6c7930c2d
mtd: spi-nor: Clear WEL bit when erase or program errors occur

When an Erase or Program error occurs on a spansion/cypress or a
micron flash, the WEL bit remains set to one and should be cleared
with a WRDI command in order to protect against inadvertent writes
that can possible corrupt the contents of the memory.

Winbond, macronix, gd, etc., do not support the E_ERR and P_ERR bits in the
Status Register and always clear the WEL bit regardless of the outcome
of the erase or page program operation (ex w25q40bw, MX25L25635E).

Issue a WRDI command when erase or page program errors occur.

Reported-by: John Garry <john.garry@huawei.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Tested-by: John Garry <john.garry@huawei.com>
drivers/mtd/spi-nor/core.c