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

kuninori.morimoto.gx at renesas.com kuninori.morimoto.gx at renesas.com
Tue Jul 5 08:07:28 CEST 2011


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);
 
        if (card->late_probe) {
                ret = card->late_probe(card);
-------------------

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list