[alsa-devel] ALSA become "Segmentation fault" on current linus tree

Takashi Iwai tiwai at suse.de
Tue Jul 5 08:19:39 CEST 2011


At Tue, 05 Jul 2011 15:07:28 +0900,
kuninori.morimoto.gx at renesas.com wrote:
> 
> 
> Dear Takashi, Liam, Mark
> 
> > Thanks for your reply
> > 
> > > Hm, this should have been fixed by the later commit:
> > >   commit 2b39535b9e54888649923beaab443af212b6c0fd
> > >   Author: Jarkko Nikula <jhnikula at gmail.com>
> > >   Date:   Fri May 20 15:47:40 2011 +0300
> > > 
> > >     ASoC: core: Don't set "(null)" as a driver name
> > > 
> > > Could you check whether the segfault occurs at this point?
> > > It's possible that another bug was introduced after it, of course.
> > 
> > Hmm...
> > segfault still happen on this commit.
> 
> Is this become hint ?
> 
> my kernel boot log is
> 
> --------------
> ...
> fsi-pcm-audio sh_fsi2: clocks managed by runtime pm                             
> ak4642-codec 0-0013: AK4642 Audio Codec 0.0.1                                   
> asoc: ak4642-hifi <-> fsia-dai mapping ok                                       
> sh-mobile-hdmi sh-mobile-hdmi: SH Mobile HDMI Audio Codec                       
> asoc: sh_mobile_hdmi-hifi <-> fsib-dai mapping ok                               
> ALSA device list:                                                               
>   #0: FSI2A (AK4643)                                                            
>   #1: FSI2B (SH MOBILE HDMI)        
> --------------
> 
> I don't know why, but the segfault didn't happen if I applied below patch
> 
> -------------------
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index bb7cd58..e84bf6d 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1929,8 +1929,8 @@ static void snd_soc_instantiate_card(struct snd_soc_card *
>                  "%s", card->name);
>         snprintf(card->snd_card->longname, sizeof(card->snd_card->longname),
>                  "%s", card->long_name ? card->long_name : card->name);
> -       snprintf(card->snd_card->driver, sizeof(card->snd_card->driver),
> -                "%s", card->driver_name ? card->driver_name : card->name);
> +//     snprintf(card->snd_card->driver, sizeof(card->snd_card->driver),
> +//              "%s", card->driver_name ? card->driver_name : card->name);
>  

So, driver name setup seems screwing up.
What shows /proc/asound/cards?  It contains also the driver string.

Takashi


More information about the Alsa-devel mailing list