Try this patch
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -511,6 +511,7 @@ static struct platform_device_id sdma_devtypes[] = {
}
};
MODULE_DEVICE_TABLE(platform, sdma_devtypes);
+static int sdma_resume_channel(struct sdma_channel *sdmac);
static const struct of_device_id sdma_dt_ids[] = {
{ .compatible = "fsl,imx6sx-sdma", .data = &sdma_imx6sx, },
@@ -701,6 +702,8 @@ static void sdma_update_channel_loop(struct sdma_channel *sdmac)
/* restore mode.count after counter readed */
sdmac->chn_real_count = bd->mode.count;
bd->mode.count = sdmac->chn_count;
+ if (sdmac->status== 3)
+ sdma_resume_channel(sdmac);
}
sdma_handle_channel_loop(sdmac);
@@ -975,6 +978,8 @@ static int sdma_pause_channel(struct sdma_channel *sdmac)
return 0;
}