
While setting quad bit on spansion, macronix code is writing only particular quad bit this may give wrong functionality with other register bits, So this patch fix the issue where it with write previous read reg status along particular quad bit.
Cc: Vignesh R vigneshr@ti.com Cc: Mugunthan V N mugunthanvnm@ti.com Cc: Simon Glass sjg@chromium.org Cc: Bin Meng bmeng.cn@gmail.com Cc: Michal Simek michal.simek@xilinx.com Cc: Siva Durga Prasad Paladugu sivadur@xilinx.com Signed-off-by: Jagan Teki jteki@openedev.com --- Changes for v2: - newly added
drivers/mtd/spi/spi_flash.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c index c922322..1ba6222 100644 --- a/drivers/mtd/spi/spi_flash.c +++ b/drivers/mtd/spi/spi_flash.c @@ -843,7 +843,7 @@ static int macronix_quad_enable(struct spi_flash *flash) if (qeb_status & STATUS_QEB_MXIC) return 0;
- ret = write_sr(flash, STATUS_QEB_MXIC); + ret = write_sr(flash, qeb_status | STATUS_QEB_MXIC); if (ret < 0) return ret;
@@ -871,7 +871,7 @@ static int spansion_quad_enable(struct spi_flash *flash) if (qeb_status & STATUS_QEB_WINSPAN) return 0;
- ret = write_cr(flash, STATUS_QEB_WINSPAN); + ret = write_cr(flash, qeb_status | STATUS_QEB_WINSPAN); if (ret < 0) return ret;