[alsa-devel] ASoC - Support for multiple components

Liam Girdwood lrg at slimlogic.co.uk
Thu Apr 22 13:03:46 CEST 2010


On Wed, 2010-04-21 at 16:07 -0500, Timur Tabi wrote:
> On Mon, Apr 19, 2010 at 9:09 AM, Liam Girdwood <lrg at slimlogic.co.uk> wrote:
> 
> > I've CC'ed folks on this mail who have either contributed or maintain
> > ASoC architecture code. Please have a look at your architecture and test
> > if you can. I only have access to OMAP and pxa3xx hardware and as such
> > have only tested the changes on these two architectures only. I'd
> > appreciated anyone else testing on the other architectures too.
> 
> A few things:
> 
> First, you probably need to add this:
> 
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 38d94d7..c2df201 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1364,8 +1364,10 @@ static void snd_soc_instantiate_card(struct
> snd_soc_card *card)
>                 soc_bind_dai_link(card, i);
> 
>         /* bind completed ? */
> -       if (card->num_rtd != card->num_links)
> +       if (card->num_rtd != card->num_links) {
> +               mutex_unlock(&card->mutex);
>                 return;
> +       }
> 
>         /* card bind complete so register a sound card */
>         ret = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
> @@ -1373,6 +1375,7 @@ static void snd_soc_instantiate_card(struct
> snd_soc_card *card)
>         if (ret < 0) {
>                 printk(KERN_ERR "asoc: can't create sound card for card %s\n",
>                         card->name);
> +               mutex_unlock(&card->mutex);
>                 return;
>         }
>         card->snd_card->dev = card->dev;
> 

Thanks, applied. I guess this got lost in a rebase.

Liam

-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk



More information about the Alsa-devel mailing list