sf: Write quad bit along with read status
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>
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
index 682d1a0..e72abb9 100644
--- a/drivers/mtd/spi/spi_flash.c
+++ b/drivers/mtd/spi/spi_flash.c
@@ -843,7 +843,7 @@
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 @@
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;