[alsa-devel] [PATCH 2.6.38] ASoC: fill in snd_soc_pcm_runtime.card before calling snd_soc_dai_link.init()
Jarkko Nikula
jhnikula at gmail.com
Thu Feb 3 07:47:56 CET 2011
On Wed, 2 Feb 2011 21:11:41 +0100
Janusz Krzysztofik <jkrzyszt at tis.icnet.pl> wrote:
> The .card member of the snd_soc_pcm_runtime structure pointed to by the
> snd_soc_dai_link.init() argument used to be initialized before the
> function being called. This has changed, probably unintentionally,
> after recent refactorings. Since the function implementations are free
> to make use of this pointer, move its assignment back before the
> function is called to avoid NULL pointer dereferences.
>
> Created and tested on Amstrad Delta againts linux-2.6.38-rc2
>
> Signed-off-by: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>
> ---
> Jarkko,
> I'm not sure if this change won't break anything in your dailess related
> code path, please verify.
>
> Thanks,
> Janusz
>
> sound/soc/soc-core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- git/sound/soc/soc-core.c.orig 2011-01-31 19:49:29.000000000 +0100
> +++ git/sound/soc/soc-core.c 2011-02-02 20:23:10.000000000 +0100
> @@ -1449,6 +1449,7 @@ static int soc_post_component_init(struc
> rtd = &card->rtd_aux[num];
> name = aux_dev->name;
> }
> + rtd->card = card;
>
> /* machine controls, routes and widgets are not prefixed */
> temp = codec->name_prefix;
> @@ -1471,7 +1472,6 @@ static int soc_post_component_init(struc
>
> /* register the rtd device */
> rtd->codec = codec;
> - rtd->card = card;
> rtd->dev.parent = card->dev;
> rtd->dev.release = rtd_release;
> rtd->dev.init_name = name;
Thanks for spotting this Janusz. This was unintentional change done by
the commit 589c356. Yet another proof how important platform is the
Amstrad Delta :-)
rtd->codec is ok since it is set in soc_bind_dai_link prior calling the
snd_soc_dai_link.init and snd_soc_aux_dev.init doesn't need it. Would
be nice to set other rtd fields also where the rtd->card is set but
that's not as urgent change than this.
Acked-by: Jarkko Nikula <jhnikula at gmail.com>
More information about the Alsa-devel
mailing list