From: Jagan Teki Date: Wed, 16 Dec 2015 08:18:08 +0000 (+0530) Subject: sf: Write quad bit along with read status X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=d9a0ab6c0dc318750ce5d389bf9268e31fd8af60;p=u-boot.git 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 Cc: Mugunthan V N Cc: Simon Glass Cc: Bin Meng Cc: Michal Simek Cc: Siva Durga Prasad Paladugu Signed-off-by: Jagan Teki --- diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c index 682d1a0df6..e72abb97ac 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;