diff options
author | Michael Walle <michael@walle.cc> | 2020-12-03 17:29:54 +0100 |
---|---|---|
committer | Vignesh Raghavendra <vigneshr@ti.com> | 2020-12-07 22:57:29 +0530 |
commit | bdb1a75e4b9df6861ec6a6e3e3997820d3cebabe (patch) | |
tree | 26e88ffd2d4cbfd1d87fca248f1fcfe34b7a3dbb /drivers/devfreq/imx-bus.c | |
parent | 989d4b72bae3b05c1564d38e71e18f65b12734fb (diff) |
mtd: spi-nor: ignore errors in spi_nor_unlock_all()
Just try to unlock the whole SPI-NOR flash array. Don't abort the
probing in case of an error. Justifications:
(1) For some boards, this just works because
spi_nor_write_16bit_sr_and_check() is broken and just checks the
second half of the 16bit. Once that will be fixed, SPI probe will
fail for boards which has hardware-write protected SPI-NOR flashes.
(2) Until now, hardware write-protection was the only viable solution
to use the block protection bits. This is because this very
function spi_nor_unlock_all() will be called unconditionally on
every linux boot. Therefore, this bits only makes sense in
combination with the hardware write-protection. If we would fail
the SPI probe on an error in spi_nor_unlock_all() we'd break
virtually all users of the block protection bits.
(3) We should try hard to keep the MTD working even if the flash might
not be writable/erasable.
Fixes: 3e0930f109e7 ("mtd: spi-nor: Rework the disabling of block write protection")
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20201203162959.29589-3-michael@walle.cc
Diffstat (limited to 'drivers/devfreq/imx-bus.c')
0 files changed, 0 insertions, 0 deletions