]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
spi: imx: replace dmaengine_terminate_all() with dmaengine_terminate_sync()
authorCarlos Song <carlos.song@nxp.com>
Mon, 25 May 2026 06:29:28 +0000 (14:29 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 1 Jun 2026 14:08:37 +0000 (15:08 +0100)
dmaengine_terminate_all() has been deprecated, so replace it with
dmaengine_terminate_sync().

Fixes: ba9b28652c75 ("spi: imx: enable DMA mode for target operation")
Fixes: a450c8b77f92 ("spi: imx: handle DMA submission errors with dma_submit_error()")
Signed-off-by: Carlos Song <carlos.song@nxp.com>
Link: https://patch.msgid.link/20260525062928.3191821-1-carlos.song@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-imx.c

index 480d1e8b281f194f6d69e38bc8f7594e6fcbfbaf..ae9912905c67ad17299ca16e74e11af4eff467f4 100644 (file)
@@ -1774,8 +1774,8 @@ static int spi_imx_dma_submit(struct spi_imx_data *spi_imx,
                                                        transfer_timeout);
                if (!time_left) {
                        dev_err(spi_imx->dev, "I/O Error in DMA TX\n");
-                       dmaengine_terminate_all(controller->dma_tx);
-                       dmaengine_terminate_all(controller->dma_rx);
+                       dmaengine_terminate_sync(controller->dma_tx);
+                       dmaengine_terminate_sync(controller->dma_rx);
                        return -ETIMEDOUT;
                }
 
@@ -1784,7 +1784,7 @@ static int spi_imx_dma_submit(struct spi_imx_data *spi_imx,
                if (!time_left) {
                        dev_err(&controller->dev, "I/O Error in DMA RX\n");
                        spi_imx->devtype_data->reset(spi_imx);
-                       dmaengine_terminate_all(controller->dma_rx);
+                       dmaengine_terminate_sync(controller->dma_rx);
                        return -ETIMEDOUT;
                }
        } else {
@@ -1793,15 +1793,15 @@ static int spi_imx_dma_submit(struct spi_imx_data *spi_imx,
                if (wait_for_completion_interruptible(&spi_imx->dma_tx_completion) ||
                    READ_ONCE(spi_imx->target_aborted)) {
                        dev_dbg(spi_imx->dev, "I/O Error in DMA TX interrupted\n");
-                       dmaengine_terminate_all(controller->dma_tx);
-                       dmaengine_terminate_all(controller->dma_rx);
+                       dmaengine_terminate_sync(controller->dma_tx);
+                       dmaengine_terminate_sync(controller->dma_rx);
                        return -EINTR;
                }
 
                if (wait_for_completion_interruptible(&spi_imx->dma_rx_completion) ||
                    READ_ONCE(spi_imx->target_aborted)) {
                        dev_dbg(spi_imx->dev, "I/O Error in DMA RX interrupted\n");
-                       dmaengine_terminate_all(controller->dma_rx);
+                       dmaengine_terminate_sync(controller->dma_rx);
                        return -EINTR;
                }
 
@@ -1818,9 +1818,9 @@ static int spi_imx_dma_submit(struct spi_imx_data *spi_imx,
        return 0;
 
 dmaengine_terminate_tx:
-       dmaengine_terminate_all(controller->dma_tx);
+       dmaengine_terminate_sync(controller->dma_tx);
 dmaengine_terminate_rx:
-       dmaengine_terminate_all(controller->dma_rx);
+       dmaengine_terminate_sync(controller->dma_rx);
 
        return -EINVAL;
 }