On 05/07/2019 04:15 PM, Tudor Ambarus wrote: > diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c > index 73172d7f512b..b94a6eaaaca5 100644 > --- a/drivers/mtd/spi-nor/spi-nor.c > +++ b/drivers/mtd/spi-nor/spi-nor.c > @@ -1551,6 +1551,7 @@ static int spansion_read_cr_quad_enable(struct spi_nor *nor) > u8 sr_cr[2]; > int ret; > > + dev_err(dev, "%s\n", __FUNCTION__); > /* Check current Quad Enable bit value. */ > ret = read_cr(nor); > if (ret < 0) { > @@ -3911,6 +3912,12 @@ static int spi_nor_setup(struct spi_nor *nor, > static int spi_nor_init(struct spi_nor *nor) > { > int err; > + u8 val; > + u8 mask = SR_BP2 | SR_BP1 | SR_BP0; > + > + /* Check current Quad Enable bit value. */ > + val = read_cr(nor); this should have been: val = read_sr(nor); sorry. > + dev_err(nor->dev, "%s val = %02x\n", val); and here dev_err(nor->dev, "%s val = %02x\n", __FUNCTION__, val); > > /* > * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up > @@ -3921,7 +3928,7 @@ static int spi_nor_init(struct spi_nor *nor) > JEDEC_MFR(nor->info) == SNOR_MFR_SST || > nor->info->flags & SPI_NOR_HAS_LOCK) { > write_enable(nor); > - write_sr(nor, 0); > + write_sr(nor, val & ~mask); > spi_nor_wait_till_ready(nor); > } > ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/