mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
mtd: spi-nor: core: Update flash's current address mode when changing address mode
commit37513c5613upstream. The bug was obswerved while reading code. There are not many users of addr_mode_nbytes. Anyway, we should update the flash's current address mode when changing the address mode, fix it. We don't care for now about the set_4byte_addr_mode(nor, false) from spi_nor_restore(), as it is used at driver remove and shutdown. Fixes:d7931a2150("mtd: spi-nor: core: Track flash's internal address mode") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20230331074606.3559258-9-tudor.ambarus@linaro.org Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f1b4affca1
commit
8cc1ab7de2
@@ -2696,6 +2696,7 @@ static int spi_nor_quad_enable(struct spi_nor *nor)
|
||||
|
||||
static int spi_nor_init(struct spi_nor *nor)
|
||||
{
|
||||
struct spi_nor_flash_parameter *params = nor->params;
|
||||
int err;
|
||||
|
||||
err = spi_nor_octal_dtr_enable(nor, true);
|
||||
@@ -2737,9 +2738,10 @@ static int spi_nor_init(struct spi_nor *nor)
|
||||
*/
|
||||
WARN_ONCE(nor->flags & SNOR_F_BROKEN_RESET,
|
||||
"enabling reset hack; may not recover from unexpected reboots\n");
|
||||
err = nor->params->set_4byte_addr_mode(nor, true);
|
||||
err = params->set_4byte_addr_mode(nor, true);
|
||||
if (err && err != -ENOTSUPP)
|
||||
return err;
|
||||
params->addr_mode_nbytes = 4;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user