浏览代码

spi: imx: terminate RX DMA transaction in case of TX DMA timeout

Not only TX DMA should be terminated, but RX DMA also. It's required
to avoid accidential DMA memory writes from RX DMA channel and properly
terminate transaction.

Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Anton Bondarenko 9 年之前
父节点
当前提交
e47b33c076
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/spi/spi-imx.c

+ 1 - 0
drivers/spi/spi-imx.c

@@ -968,6 +968,7 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
 			dev_driver_string(&master->dev),
 			dev_driver_string(&master->dev),
 			dev_name(&master->dev));
 			dev_name(&master->dev));
 		dmaengine_terminate_all(master->dma_tx);
 		dmaengine_terminate_all(master->dma_tx);
+		dmaengine_terminate_all(master->dma_rx);
 	} else {
 	} else {
 		timeout = wait_for_completion_timeout(
 		timeout = wait_for_completion_timeout(
 				&spi_imx->dma_rx_completion, IMX_DMA_TIMEOUT);
 				&spi_imx->dma_rx_completion, IMX_DMA_TIMEOUT);