diff options
author | Nicolin Chen <b42378@freescale.com> | 2013-10-08 16:39:39 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2013-10-30 09:55:52 +0800 |
commit | 0c7a25933a30ed812fe91ba28ca0ae5d3b76dac8 (patch) | |
tree | 68640af80bfeb53012d01735763051ec0f0ec5a5 /drivers/dma | |
parent | 9d531128378a75e927f9f1f24a2b2af502d4bdec (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.c | 3 |
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); } |