[alsa-devel] No sound with nVidia Corporation MCP79 High Definition Audio (rev b1) (Macbook Pro 5, 5)

Takashi Iwai tiwai at suse.de
Mon Jul 6 16:16:06 CEST 2009


At Mon, 6 Jul 2009 16:03:04 +0200,
Andreas Nüßlein wrote:
> 
> On Monday 06 July 2009 15:39:09 you wrote:
> > At Mon, 6 Jul 2009 14:59:09 +0200,
> >
> > Andreas Nüßlein wrote:
> > > On Monday 06 July 2009 14:44:56 you wrote:
> > > > At Mon, 6 Jul 2009 12:19:11 +0200,
> > > >
> > > > Andreas Nüßlein wrote:
> > > > > On Monday 06 July 2009 12:08:11 you wrote:
> > > > > > At Mon, 6 Jul 2009 11:45:07 +0200,
> > > > > >
> > > > > > Andreas Nüßlein wrote:
> > > > > > > [1  <text/plain; iso-8859-1 (quoted-printable)>]
> > > > > > >
> > > > > > > On Monday 06 July 2009 09:23:07 you wrote:
> > > > > > > > At Sun, 5 Jul 2009 12:30:52 +0200,
> > > > > > > >
> > > > > > > > > however i was able to reproduce the "bad kfree", by changing
> > > > > > > > > the volumes in alsamixer. it always gave me the same "called
> > > > > > > > > from ID" so i tried "while (true) do cat /proc/kallsyms |
> > > > > > > > > grep ffffffffa001b08b; done" and then changed the volume, but
> > > > > > > > > the grep never returned anything, dmesg of course got more
> > > > > > > > > and more of those kfree-errors.
> > > > > > > >
> > > > > > > > The address won't match exactly in /proc/kasllsyms.
> > > > > > > > But you can guess which function by address.  First sort
> > > > > > > > /proc/kallsyms then check the position that fits with the given
> > > > > > > > address.
> > > > > > > >
> > > > > > > >
> > > > > > > > Takashi
> > > > > > >
> > > > > > > well i'm not really sure _I_ can guess ;)    i guess it's either
> > > > > > > "t snd_ctl_ioctl        [snd]" or  "t snd_ctl_ioctl_compat
> > > > > > > [snd]".
> > > > > > >
> > > > > > > here are the greps, "snd: bad kfree (called from
> > > > > > > ffffffffa001b08b)" being the error:
> > > > > > >
> > > > > > >
> > > > > > > $ cat /proc/kallsyms | sort | grep ffffffffa001a
> > > > > > > ffffffffa001a045 t snd_ctl_elem_info    [snd]
> > > > > > > ffffffffa001a17a t copy_ctl_value_from_user     [snd]
> > > > > > > ffffffffa001a34f t snd_ctl_elem_read    [snd]
> > > > > > > ffffffffa001a413 t snd_ctl_elem_write   [snd]
> > > > > > > ffffffffa001a515 T snd_ctl_rename_id    [snd]
> > > > > > > ffffffffa001a5b5 T snd_ctl_activate_id  [snd]
> > > > > > > ffffffffa001a66e T snd_ctl_remove_id    [snd]
> > > > > > > ffffffffa001a6ed T snd_ctl_add  [snd]
> > > > > > > ffffffffa001a6ed u snd_ctl_add  [snd_hda_codec]
> > > > > > > ffffffffa001a947 t snd_ctl_elem_add     [snd]
> > > > > > > ffffffffa001abd3 t snd_ctl_elem_add_compat      [snd]
> > > > > > > ffffffffa001ad37 t snd_ctl_elem_add_user        [snd]
> > > > > > > ffffffffa001ada6 t snd_ctl_ioctl        [snd]
> > > > > > >
> > > > > > >
> > > > > > > $ cat /proc/kallsyms | sort | grep ffffffffa001b
> > > > > > > ffffffffa001b4c4 t snd_ctl_ioctl_compat [snd]
> > > > > > > ffffffffa001b9ba T snd_ctl_new1 [snd]
> > > > > > > ffffffffa001b9ba u snd_ctl_new1 [snd_hda_codec]
> > > > > > > ffffffffa001b9ba u snd_ctl_new1 [snd_hda_codec_cirrus]
> > > > > > > ffffffffa001bb30 T snd_pci_quirk_lookup [snd]
> > > > > > > ffffffffa001bb30 u snd_pci_quirk_lookup [snd_hda_codec]
> > > > > > > ffffffffa001bb30 u snd_pci_quirk_lookup [snd_hda_intel]
> > > > > > > ffffffffa001bb93 T snd_verbose_printk   [snd]
> > > > > > > ffffffffa001bb93 u snd_verbose_printk   [snd_hda_codec]
> > > > > > > ffffffffa001bb93 u snd_verbose_printk   [snd_hda_intel]
> > > > > > > ffffffffa001bb93 u snd_verbose_printk   [snd_hwdep]
> > > > > > > ffffffffa001bb93 u snd_verbose_printk   [snd_pcm]
> > > > > > > ffffffffa001bb93 u snd_verbose_printk   [snd_timer]
> > > > > > > ffffffffa001bc7b T release_and_free_resource    [snd]
> > > > > > > ffffffffa001bcd4 t snd_device_register_all      [snd]
> > > > > > > ffffffffa001bd76 T snd_device_register  [snd]
> > > > > > > ffffffffa001bd76 u snd_device_register  [snd_pcm]
> > > > > > > ffffffffa001be67 t snd_device_disconnect        [snd]
> > > > > > > ffffffffa001bf5d t snd_device_disconnect_all    [snd]
> > > > > > >
> > > > > > >
> > > > > > > hope that helps =)
> > > > > >
> > > > > > Maybe the patch below can give a better clue.
> > > > > > This will spew stack traces when this error is triggered.  Don't be
> > > > > > surprised.
> > > > >
> > > > > oki - new output =)
> > > > >
> > > > >
> > > > > [16306.365597] snd: bad kfree (called from ffffffffa001b08f)
> > > > > [16306.365604] Pid: 26533, comm: alsamixer Tainted: P        W 
> > > > > 2.6.30.1 #2 [16306.365610] Call Trace:
> > > > > [16306.365632]  [<ffffffffa001b08f>] ? snd_ctl_ioctl+0x2e5/0x71e
> > > > > [snd] [16306.365645]  [<ffffffff802b8bf9>] ?
> > > > > __inc_zone_state+0x20/0x9b [16306.365655]  [<ffffffff802cfffc>] ?
> > > > > alloc_page_vma+0x197/0x1e1 [16306.365666]  [<ffffffff802afb63>] ?
> > > > > __lru_cache_add+0x93/0xdd [16306.365676]  [<ffffffff802ea651>] ?
> > > > > vfs_ioctl+0x35/0x97
> > > > > [16306.365686]  [<ffffffff802eaae5>] ? do_vfs_ioctl+0x432/0x482
> > > > > [16306.365696]  [<ffffffff806336bf>] ? _spin_lock_irqsave+0x28/0x5c
> > > > > [16306.365705]  [<ffffffff80247e22>] ? do_page_fault+0x272/0x29e
> > > > > [16306.365715]  [<ffffffff802eab82>] ? sys_ioctl+0x4d/0x81
> > > > > [16306.365726]  [<ffffffff8022af2b>] ? system_call_fastpath+0x16/0x1b
> > > >
> > > > Try the very latest alsa-driver-unstable snapshot.
> > > > This bug should have been fixed, also possibly with CS420x parser
> > > > bug, too.
> > > >
> > > >
> > > > Takashi
> > >
> > > so dmesg knows the following:
> > >
> > > [18042.848549] HDA Intel 0000:00:08.0: PCI INT A -> Link[LAZA] -> GSI 23
> > > (level, low) -> IRQ 23 [18042.848623] HDA Intel 0000:00:08.0: setting
> > > latency timer to 64 [18043.007568] ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kernel/pci/hd
> > >a/hda_codec.c:3851: autoconfig: line_outs=1 (0xa/0x0/0x0/0x0/0x0)
> > > [18043.007584] ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kernel/pci/hd
> > >a/hda_codec.c:3855:    speaker_outs=1 (0xb/0x0/0x0/0x0/0x0) [18043.007596]
> > > ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kernel/pci/hd
> > >a/hda_codec.c:3859:    hp_outs=1 (0x9/0x0/0x0/0x0/0x0) [18043.007608] ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kernel/pci/hd
> > >a/hda_codec.c:3860:    mono: mono_out=0x0 [18043.007618] ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kernel/pci/hd
> > >a/hda_codec.c:3863:    dig-out=0x10/0x15 [18043.007628] ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kernel/pci/hd
> > >a/hda_codec.c:3871:    inputs: mic=0xd, fmic=0x0, line=0xc, fline=0x0,
> > > cd=0x0, aux=0x0
> > > [18043.007642] ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kernel/pci/hd
> > >a/hda_codec.c:3873:    dig-in=0x12 [18043.121187] ALSA
> > > /home/nutz/tmp/alsa/alsa-driver-unstable/acore/control.c:337: control
> > > 2:0:0:IEC958 Capture Switch:0 is already present [18043.121204]
> > > hda_codec: cannot build controlsfor #0 (error -16)
> > >
> > >
> > > and i don't have a mixer anymore ;)
> >
> > It's because your chip was uninitialized by BIOS or whatever, the
> > another state you got sometimes.
> >
> > Now fixed in the driver to force to initialize pins.
> > Try the latest tarball again.
> >
> >
> > Takashi
> 
> 
> TAKASHIIIIIIIIIIIII =)         
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> 
> digital out is working... i tried the new snapshot (eventhough, as you said my 
> subsystem is now again uninitialized)  and i got back the alsamixer-
> capabilities;
> 
> i ran mplayer test.wav and started playing around with the mixer-controls. 
> 
> when i reached IEC958 and turned it on, my out-jack began to glow red =) so 
> that works.   i rushed over to my dorm-partners speakersystem and plugged it 
> in - voila that actually works! (i tried a DTS video with mplayer -vc hwdts )
> 
> that is SO cool =)
> 
> however as you might've figured out, analog out is not working, yet ;(   i 
> tried the built-in speakers as well as the headphones (and of course all the 

Hm, so you don't get any output although no errors with aplay?

Please give alsa-info.sh output with the latest driver to be sure.


Takashi


More information about the Alsa-devel mailing list