spi: sh-msiof: Fix transmit-only DMA transfers
authorGeert Uytterhoeven <geert+renesas@glider.be>
Thu, 7 Aug 2014 12:07:43 +0000 (14:07 +0200)
committerSimon Horman <horms@verge.net.au>
Fri, 5 Dec 2014 00:24:23 +0000 (09:24 +0900)
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

index 887c208..543075b 100644 (file)
@@ -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);