summaryrefslogtreecommitdiff
path: root/drivers/dma
diff options
context:
space:
mode:
authorNicolin Chen <b42378@freescale.com>2013-10-08 16:39:39 +0800
committerJason Liu <r64343@freescale.com>2013-10-30 09:55:52 +0800
commit0c7a25933a30ed812fe91ba28ca0ae5d3b76dac8 (patch)
tree68640af80bfeb53012d01735763051ec0f0ec5a5 /drivers/dma
parent9d531128378a75e927f9f1f24a2b2af502d4bdec (diff)
ENGR00281859-3 ASoC: fsl: Prepare dmaengine before submit it
ASRC and HDMI audio might meet unexpected stop, 'ctrl+z' for example, and then disable its sdma channel. But after 'fg' resume, because sdma channel's status has already been set into DMA_ERROR, we need to prepare dmaengine again to clear its error state, otherwise sdma driver would bypass its channel enabling and 'Input/Output error' would happen to ALSA lib. The combined prepare and submit are also being used in soc-dmaengine, the common ASoC dmaengine driver. And since we already use a proper way to handle sdma channel status, there's no need to make an exception for HDMI any more, so drop it. Signed-off-by: Nicolin Chen <b42378@freescale.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/imx-sdma.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 83ea9c14a965..8fc1db7874b4 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -1286,8 +1286,7 @@ static void sdma_issue_pending(struct dma_chan *chan)
struct sdma_channel *sdmac = to_sdma_chan(chan);
struct sdma_engine *sdma = sdmac->sdma;
- /* Only HDMI audio uses other_script, and it does not care status */
- if (sdmac->status == DMA_IN_PROGRESS || sdmac->other_script)
+ if (sdmac->status == DMA_IN_PROGRESS)
sdma_enable_channel(sdma, sdmac->channel);
}