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>
This commit is contained in:
Jagan Teki 2015-12-16 13:48:08 +05:30
parent bfcdc3956d
commit d9a0ab6c0d

View File

@ -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;