mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-24 14:18:51 +07:00
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 cc59e6bb6c
.
[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
This commit is contained in:
parent
856deb866d
commit
7d90a9b269
@ -3000,8 +3000,6 @@ void spi_nor_restore(struct spi_nor *nor)
|
|||||||
if (nor->addr_width == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
|
if (nor->addr_width == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
|
||||||
nor->flags & SNOR_F_BROKEN_RESET)
|
nor->flags & SNOR_F_BROKEN_RESET)
|
||||||
nor->params->set_4byte_addr_mode(nor, false);
|
nor->params->set_4byte_addr_mode(nor, false);
|
||||||
|
|
||||||
spi_nor_quad_enable(nor, false);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(spi_nor_restore);
|
EXPORT_SYMBOL_GPL(spi_nor_restore);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user