At Mon, 10 Aug 2009 07:39:28 +0200,I wrote:> > At Mon, 10 Aug 2009 02:02:06 +0300,> Ozan Çağlayan wrote:> > > > Takashi Iwai wrote:> > > At Sun, 09 Aug 2009 15:10:31 +0300,> > >> > > > > > Could you load the module with probe_only=1 option and give> > > alsa-info.sh output (or at least codec#* proc file)?> > > > > > > Ok, will provide that info too. BTW,> > > > CPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 21 (level, low) -> IRQ 21> > PCI: Setting latency timer of device 0000:00:1b.0 to 64> > ** codec:0xf5846800> > ** spec->dmux_nids:0x00000000> > BUG: unable to handle kernel NULL pointer dereference at 00000000> > IP: [<f8c7b4d5>] :snd_hda_codec_idt:stac92xx_init+0x29b/0x520> > *pde = 00000000 > > Oops: 0000 [#1] SMP> > > > > > spec->dmux_nids is NULL. Found the following commit:> > Good catch. How about the patch below? Doh, sorry a totally broken patch. The fixed one is below. I could reproduce the bug with the emulator, and this patch fixes theissue. Updated sound GIT tree and snapshot now. thanks, Takashi ---diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.cindex a75d6a0..a695558 100644--- a/sound/pci/hda/patch_sigmatel.c+++ b/sound/pci/hda/patch_sigmatel.c@@ -3701,7 +3701,7 @@ static int set_mic_route(struct hda_codec *codec, if (i < 0) return -1; mic->mux_idx = i;- } else {+ } else if (spec->dmux_nids) { /* digital pin */ mic->mux_idx = 0; i = get_connection_index(codec, spec->dmux_nids[0], pin);@@ -4404,7 +4404,8 @@ static int stac92xx_init(struct hda_codec *codec) } if (spec->auto_mic) { /* initialize connection to analog input */- snd_hda_codec_write_cache(codec, spec->dmux_nids[0], 0,+ if (spec->dmux_nids)+ snd_hda_codec_write_cache(codec, spec->dmux_nids[0], 0, AC_VERB_SET_CONNECT_SEL, 0); if (enable_pin_detect(codec, spec->ext_mic.pin, STAC_MIC_EVENT)) stac_issue_unsol_event(codec, spec->ext_mic.pin);_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel