[alsa-devel] [PATCH] ASoC: dmaengine: add runtime status checking in dmaengine_pcm_dma_complete

Lars-Peter Clausen lars at metafoo.de
Mon Jun 10 12:46:52 CEST 2013


On 06/10/2013 11:31 AM, Mark Brown wrote:
> On Sun, Jun 09, 2013 at 03:51:09PM +0200, Lars-Peter Clausen wrote:
>> On 06/09/2013 03:37 PM, Lars-Peter Clausen wrote:
> 
>>> I haven't see the original patch, but the proper solution to this problem
>>> should be to add a check to snd_dmaengine_pcm_close() to see if the DMA is
>>> still running.
> 
>> Ok, since this will never happen, I suppose the problem is rather that the DMA
>> callback is called after dma_terminate_all() has been called. Which sounds like
>> it is a bug in the dmaengine driver. And this will likely also be a problem for
>> other users of that dmaengine driver and not only the ASoC driver, so it should
>> be fixed in the dmaengine driver.
> 
> Just to clarify what is it makes you say that this will never happen?

At least that is my understanding of snd_pcm_release_substream(), that it
will first make sure that the stream is stopped, by calling snd_pcm_drop(),
before closing the stream.

- Lars


More information about the Alsa-devel mailing list