This patch set to correct dma pool used in the commit fe5b85c656bc ("dmaengine: imx-sdma: alloclate bd memory from dma pool") because all bds should be contiguous in memory in multi bds case for sdma, but dma pool can't statify it and cause transfer failure then.Thank Lucas for the making things on the right way. This patch set is v3 based on Lucas's V1/V2, the main refine: --fix the issue I reported in V1 but Lucas workaround it by improper way in V2. --add vchan_synchronize() to kill tasklet in virt-dma internal. --refine name: use sdma_disable_channel_async instead of sdma_disable_channel_with_delay since no delay indeed for device_terminate_all. Please refer to below link for more information: https://patchwork.kernel.org/patch/10601111 Lucas Stach (4): Revert "dmaengine: imx-sdma: Use GFP_NOWAIT for dma allocations" Revert "dmaengine: imx-sdma: alloclate bd memory from dma pool" dmaengine: imx-sdma: implement channel termination via worker dmaengine: imx-sdma: use GFP_NOWAIT for dma descriptor allocations drivers/dma/imx-sdma.c | 69 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 25 deletions(-) -- 2.7.4