[alsa-devel] asoc: fsl_dma_hw_free being called twice at end of playback

Mark Brown broonie at opensource.wolfsonmicro.com
Mon May 3 23:02:11 CEST 2010


On 3 May 2010, at 21:51, Timur Tabi <timur at freescale.com> wrote:

> In my 8610 ASoC driver, I'm seeing the DMA driver's .hw_free  
> function being
> called twice whenever playback ends.  I've added some printk's to  
> demonstrate:

Is this with or without Liam's multiple CODEC work?

> snd_pcm_common_ioctl1:2543
> snd_pcm_hw_free:543
> soc_pcm_hw_free:761 c023983c
> fsl_dma_hw_free:720 substream=df029d00 dma_private=df440000 stream=0
> snd_pcm_release_substream:2022
> soc_pcm_hw_free:761 c023983c
> fsl_dma_hw_free:720 substream=df029d00 dma_private=df440000 stream=0
> fsl_dma_close:759 substream=df029d00 dma_private=df440000
>
> So the ioctl is being called only once, but the both snd_pcm_hw_free 
> () and
> snd_pcm_release_substream() are calling the .hw_free function.
>
> Is this normal?  I don't know how to handle this, other than to add  
> some
> boolean to my private data structure that indicates whether the  
> resources
> have been freed or not.
>
> -- 
> Timur Tabi
> Linux kernel developer at Freescale


More information about the Alsa-devel mailing list