summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorYicong Yang <yangyicong@hisilicon.com>2020-09-04 15:47:19 +0800
committerVignesh Raghavendra <vigneshr@ti.com>2020-09-14 20:58:26 +0530
commit7d90a9b2693a753abfc7034eacea5bbcbb566560 (patch)
treee7d07d1683d413fa365a7fb0fd5795bcf9872953 /drivers
parent856deb866d16e29bd65952e0289066f6078af773 (diff)
downloadlinux-7d90a9b2693a753abfc7034eacea5bbcbb566560.tar.bz2
Revert "mtd: spi-nor: Disable the flash quad mode in spi_nor_restore()"
Previous patch intends to restore the flash's QE bit when removed/shutdown, but may have some problems and break the flash: - for those originally in Quad mode, this patch will clear the QE bit when unloaded the flash, which is incorrect. - even with above problem solved, it may still break the flash as some flash's QE bit is non-volatile and lots of set/reset will wear out the bit. - the restore method cannot be proved to be valid as if a hard reset or accident crash happened, the spi_nor_restore() won't be performed the the QE bit will not be restored as we expected to. So let's revert it to fix this. The discussion can be found at [1]. This reverts commit cc59e6bb6cd69d3347c06ccce088c5c6052e041e. [1] https://lore.kernel.org/linux-mtd/CAO8h3eFLVLRmw7u+rurKsg7=Nh2q-HVq-HgVXig8gf5Dffk8MA@mail.gmail.com/ Reported-by: Matthias Weisser <m.weisser.m@gmail.com> Suggested-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Link: https://lore.kernel.org/r/1599205640-26690-1-git-send-email-yangyicong@hisilicon.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/spi-nor/core.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index 65eff4ce6ab1..ab8f55438e21 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -3000,8 +3000,6 @@ void spi_nor_restore(struct spi_nor *nor)
if (nor->addr_width == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
nor->flags & SNOR_F_BROKEN_RESET)
nor->params->set_4byte_addr_mode(nor, false);
-
- spi_nor_quad_enable(nor, false);
}
EXPORT_SYMBOL_GPL(spi_nor_restore);