mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] spi: dw: use "smp_mb()" to avoid sending spi data error
@ 2019-12-26  9:21 Xinwei Kong
  2019-12-27  0:22 ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Xinwei Kong @ 2019-12-26  9:21 UTC (permalink / raw)
  To: broonie, linux-spi, linux-kernel; +Cc: linuxarm, Xinwei Kong, fengsheng

this patch will add memory barrier to ensure this "struct dw_spi *dws"
to complete data setting before enabling this SPI hardware interrupt.
eg:
it will fix to this following low possibility error in testing environment
which using SPI control to connect TPM Modules

kernel: tpm tpm0: Operation Timed out
kernel: tpm tpm0: tpm_relinquish_locality: : error -1

Signed-off-by: fengsheng <fengsheng5@huawei.com>
Signed-off-by: Xinwei Kong <kong.kongxinwei@hisilicon.com>
---
 drivers/spi/spi-dw.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c
index a92aa5c..d0d77a2 100644
--- a/drivers/spi/spi-dw.c
+++ b/drivers/spi/spi-dw.c
@@ -288,6 +288,8 @@ static int dw_spi_transfer_one(struct spi_controller *master,
 	dws->rx_end = dws->rx + transfer->len;
 	dws->len = transfer->len;
 
+	smp_mb();
+
 	spi_enable_chip(dws, 0);
 
 	/* Handle per transfer options for bpw and speed */
-- 
2.7.4


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-01-03  1:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-26  9:21 [PATCH] spi: dw: use "smp_mb()" to avoid sending spi data error Xinwei Kong
2019-12-27  0:22 ` Mark Brown
2019-12-28  8:31   ` kongxinwei
2020-01-03  1:04     ` Mark Brown
2020-01-03  1:34       ` kongxinwei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®