spi/omap-mcspi: Fix the spi task hangs waiting dma_rx
authorJorge A. Ventura <jorge.araujo.ventura@gmail.com>
Sat, 9 Aug 2014 21:06:58 +0000 (16:06 -0500)
committerJiri Slaby <jslaby@suse.cz>
Mon, 13 Oct 2014 13:41:06 +0000 (15:41 +0200)
commit 3d0763c006f8da1b44a9f5f9a21187f5b8f674f4 upstream.

The spi hangs waiting the completion of omap2_mcspi_rx_callback.

Signed-off-by: Jorge A. Ventura <jorge.araujo.ventura@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/spi/spi-omap2-mcspi.c

index ed4af4708d9aa2374c444915aa81345b9684b518..5f19cc975b27cc752f342fc53fb2604234eadc27 100644 (file)
@@ -314,7 +314,8 @@ static void omap2_mcspi_set_fifo(const struct spi_device *spi,
 disable_fifo:
        if (t->rx_buf != NULL)
                chconf &= ~OMAP2_MCSPI_CHCONF_FFER;
-       else
+
+       if (t->tx_buf != NULL)
                chconf &= ~OMAP2_MCSPI_CHCONF_FFET;
 
        mcspi_write_chconf0(spi, chconf);