summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-12-17 15:16:46 +0100
committerTejun Heo <tj@kernel.org>2010-12-17 15:16:46 +0100
commit275c8b93288ef0c2281e414e069ea8ed4bad03f7 (patch)
treedf906ef901d7719d66944921c7436f5db718dc2f /drivers/spi
parent909ea96468096b07fbb41aaf69be060d92bd9271 (diff)
parent8f1d97c79eb65de1d05799d6b81d79cd94169114 (diff)
Merge branch 'this_cpu_ops' into for-2.6.38
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/dw_spi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/spi/dw_spi.c b/drivers/spi/dw_spi.c
index 90439314cf67..0838c79861e4 100644
--- a/drivers/spi/dw_spi.c
+++ b/drivers/spi/dw_spi.c
@@ -413,6 +413,11 @@ static void poll_transfer(struct dw_spi *dws)
{
while (dws->write(dws))
dws->read(dws);
+ /*
+ * There is a possibility that the last word of a transaction
+ * will be lost if data is not ready. Re-read to solve this issue.
+ */
+ dws->read(dws);
transfer_complete(dws);
}