[alsa-devel] [PATCH] ALSA: ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
Jarkko Nikula
jhnikula at gmail.com
Fri Mar 19 10:14:27 CET 2010
On Fri, 19 Mar 2010 08:56:40 +0200
Peter Ujfalusi <peter.ujfalusi at nokia.com> wrote:
> At least the OMAP code should not be affected by the bug, that you have with the
> pxa-ssp. I think the bug could be also fixed within the pxa code, since the
> whole thing goes down to inconsistent memory management within the pxa code.
>
> Having said that, I do think having separate dma_data for each streams is a
> really good idea.
> One thing that I can think of in OMAP case, where this could fix a nasty race
> condition is (have never seen it, but it is in theory possible):
> Also in duplex case, when the second hw_param gets called after the first
> omap_mcbsp_hw_params, and before the omap_pcm_hw_params for the first stream.
> The second omap_mcbsp_hw_params will override the dma_data, thus we would set
> bogus parameters for the first stream.
>
There shouldn't be this kind of race in OMAP since the soc_pcm_hw_params
protects the hw_params calls with a mutex and the omap_pcm_hw_params
takes a copy from parameters passed from DAI driver's hw_params.
But yes, I agree that the stream specific dma_data is good idea.
> For the omap-mcbsp.c and omap-pcm.c changes:
> Acked-by: Peter Ujfalusi <peter.ujfalusi at nokia.com>
>
Acked-by: Jarkko Nikula <jhnikula at gmail.com>
More information about the Alsa-devel
mailing list