blob: f9f5d090270e5c937c7c2046e6f41022f284ab77 [file] [log] [blame]
From 33fdf90712aaa97c3f4c8da9b4363da8ef64d4a7 Mon Sep 17 00:00:00 2001
From: Geert Uytterhoeven <geert+renesas@glider.be>
Date: Thu, 7 Aug 2014 14:07:43 +0200
Subject: spi: sh-msiof: Fix transmit-only DMA transfers
Fix tx/rx mixup, which broke transmit-only transfers.
Introduced by commit 4240305f7cbdc7782aa8bc40cc702775d9ac0839
("spi: sh-msiof: Fix leaking of unused DMA descriptors").
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit cdcd565fa0925edf9b80c875fcc84a231c75bd1d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
drivers/spi/spi-sh-msiof.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c
index 887c2084130f..543075b80f16 100644
--- a/drivers/spi/spi-sh-msiof.c
+++ b/drivers/spi/spi-sh-msiof.c
@@ -693,9 +693,9 @@ static int sh_msiof_dma_once(struct sh_msiof_spi_priv *p, const void *tx,
reinit_completion(&p->done);
/* Now start DMA */
- if (tx)
- dma_async_issue_pending(p->master->dma_rx);
if (rx)
+ dma_async_issue_pending(p->master->dma_rx);
+ if (tx)
dma_async_issue_pending(p->master->dma_tx);
ret = sh_msiof_spi_start(p, rx);
--
2.1.2