Skip to content

Commit ce4662a

Browse files
authored
spi: spi-imx: complete DMA transfers on target mode
Even if the spi_target_abort was called, the DMA transfers have been pending
1 parent be78e49 commit ce4662a

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

drivers/spi/spi-imx.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1834,8 +1834,15 @@ static int spi_imx_target_abort(struct spi_controller *controller)
18341834
struct spi_imx_data *spi_imx = spi_controller_get_devdata(controller);
18351835

18361836
spi_imx->target_aborted = true;
1837-
complete(&spi_imx->xfer_done);
18381837

1838+
if (spi_imx->target_mode && spi_imx->usedma) {
1839+
if (!completion_done(&spi_imx->dma_tx_completion))
1840+
complete(&spi_imx->dma_tx_completion);
1841+
if (!completion_done(&spi_imx->dma_rx_completion))
1842+
complete(&spi_imx->dma_rx_completion);
1843+
} else {
1844+
complete(&spi_imx->xfer_done);
1845+
}
18391846
return 0;
18401847
}
18411848

0 commit comments

Comments
 (0)