summary refs log tree commit diff
path: root/drivers/spi/spi-sh-msiof.c
diff options
context:
space:
mode:
authorHiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>2018-09-05 10:49:37 +0200
committerMark Brown <broonie@kernel.org>2018-09-05 12:39:57 +0100
commit31a5fae4c5a009898da6d177901d5328051641ff (patch)
treed080addcb71d9096e1d8d808278d685f0c109dda /drivers/spi/spi-sh-msiof.c
parentffa69d6a16f686efe45269342474e421f2aa58b2 (diff)
downloadlinux-31a5fae4c5a009898da6d177901d5328051641ff.tar.gz
spi: sh-msiof: Fix handling of write value for SISTR register
This patch changes writing to the SISTR register according to the H/W
user's manual.

The TDREQ bit and RDREQ bits of SISTR are read-only, and must be written
their initial values of zero.

Signed-off-by: Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>
[geert: reword]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/spi/spi-sh-msiof.c')
-rw-r--r--drivers/spi/spi-sh-msiof.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c
index bfe4e6d4f7bf..101cd6aae2ea 100644
--- a/drivers/spi/spi-sh-msiof.c
+++ b/drivers/spi/spi-sh-msiof.c
@@ -397,7 +397,8 @@ static void sh_msiof_spi_set_mode_regs(struct sh_msiof_spi_priv *p,
 
 static void sh_msiof_reset_str(struct sh_msiof_spi_priv *p)
 {
-	sh_msiof_write(p, STR, sh_msiof_read(p, STR));
+	sh_msiof_write(p, STR,
+		       sh_msiof_read(p, STR) & ~(STR_TDREQ | STR_RDREQ));
 }
 
 static void sh_msiof_spi_write_fifo_8(struct sh_msiof_spi_priv *p,