mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode
Add an error message when failing to exit the 4-byte address mode. Do not stop the execution and go through the spi_nor_soft_reset() method if used, in the hope that the flash will default to 3-byte address mode after the reset. Suggested-by: Pratyush Yadav <p.yadav@ti.com> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> Reviewed-by: Pratyush Yadav <p.yadav@ti.com> Link: https://lore.kernel.org/r/20220728030159.68680-1-tudor.ambarus@microchip.com
This commit is contained in:
parent
2fe99a8670
commit
bb0e9c600c
@ -2838,10 +2838,20 @@ static void spi_nor_put_device(struct mtd_info *mtd)
|
||||
|
||||
void spi_nor_restore(struct spi_nor *nor)
|
||||
{
|
||||
int ret;
|
||||
|
||||
/* restore the addressing mode */
|
||||
if (nor->addr_nbytes == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
|
||||
nor->flags & SNOR_F_BROKEN_RESET)
|
||||
nor->params->set_4byte_addr_mode(nor, false);
|
||||
nor->flags & SNOR_F_BROKEN_RESET) {
|
||||
ret = nor->params->set_4byte_addr_mode(nor, false);
|
||||
if (ret)
|
||||
/*
|
||||
* Do not stop the execution in the hope that the flash
|
||||
* will default to the 3-byte address mode after the
|
||||
* software reset.
|
||||
*/
|
||||
dev_err(nor->dev, "Failed to exit 4-byte address mode, err = %d\n", ret);
|
||||
}
|
||||
|
||||
if (nor->flags & SNOR_F_SOFT_RESET)
|
||||
spi_nor_soft_reset(nor);
|
||||
|
Loading…
x
Reference in New Issue
Block a user