diff options
author | Mark Brown <broonie@kernel.org> | 2016-02-18 14:10:59 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-02-18 14:10:59 +0000 |
commit | 499e49b6d3a4c2ba21c175aa43a7d296724643c3 (patch) | |
tree | efc6616cbfb571af30b37f203b26e49d1ccafbd9 /drivers/spi/spi-imx.c | |
parent | 6aa800ca65b1788e8c2e4ffd1e57a4c4355fe0ed (diff) | |
parent | 4dd638f8ac6b4ed020297b5d994d9346b84f2009 (diff) | |
download | talos-obmc-linux-499e49b6d3a4c2ba21c175aa43a7d296724643c3.tar.gz talos-obmc-linux-499e49b6d3a4c2ba21c175aa43a7d296724643c3.zip |
Merge tag 'spi-fix-v4.5-rc4' into spi-imx
spi: Fixes for v4.5
A small clutch of driver specific fixes. The OMAP one is a bit worrying
since it seems to be triggered by some changes in the runtime PM core
code and I suspect there's other drivers across that are going to be
using the same pattern outside of OMAP but nothing seems to be coming up
in the testing people are doing.
Diffstat (limited to 'drivers/spi/spi-imx.c')
-rw-r--r-- | drivers/spi/spi-imx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c index 7ac206b8cc93..0313293323cc 100644 --- a/drivers/spi/spi-imx.c +++ b/drivers/spi/spi-imx.c @@ -931,7 +931,7 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx, tx->sgl, tx->nents, DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); if (!desc_tx) - goto no_dma; + goto tx_nodma; desc_tx->callback = spi_imx_dma_tx_callback; desc_tx->callback_param = (void *)spi_imx; @@ -943,7 +943,7 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx, rx->sgl, rx->nents, DMA_DEV_TO_MEM, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); if (!desc_rx) - goto no_dma; + goto rx_nodma; desc_rx->callback = spi_imx_dma_rx_callback; desc_rx->callback_param = (void *)spi_imx; @@ -1006,7 +1006,9 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx, return ret; -no_dma: +rx_nodma: + dmaengine_terminate_all(master->dma_tx); +tx_nodma: dev_warn_once(spi_imx->dev, "DMA not available, falling back to PIO\n"); return -EAGAIN; } |