diff mbox

[U-Boot,v2,4/4] sf: Write quad bit along with read status

Message ID 1450256509-17280-4-git-send-email-jteki@openedev.com
State Accepted
Commit d9a0ab6c0dc318750ce5d389bf9268e31fd8af60
Delegated to: Jagannadha Sutradharudu Teki
Headers show

Commit Message

Jagan Teki Dec. 16, 2015, 9:01 a.m. UTC
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 mbox

Patch

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;