At Mon, 6 Jul 2009 17:03:52 +0200, Andreas Nüßlein wrote: > > On Monday 06 July 2009 16:47:48 you wrote: > > At Mon, 6 Jul 2009 16:36:09 +0200, > > > > Andreas Nüßlein wrote: > > > On Monday 06 July 2009 16:16:06 you wrote: > > > > 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-kerne > > > > > > >l/pc i/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-kerne > > > > > > >l/pc i/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-kerne > > > > > > >l/pc i/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-kerne > > > > > > >l/pc i/hd a/hda_codec.c:3860: mono: mono_out=0x0 [18043.007618] > > > > > > > ALSA > > > > > > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kerne > > > > > > >l/pc i/hd a/hda_codec.c:3863: dig-out=0x10/0x15 [18043.007628] > > > > > > > ALSA > > > > > > > /home/nutz/tmp/alsa/alsa-driver-unstable/pci/hda/../../alsa-kerne > > > > > > >l/pc i/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-kerne > > > > > > >l/pc i/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 > > > > > > and here is the alsa-info with the "correct" subsystem id. > > > > > > i also was able to get the wrong subsystem id again: i did > > > /etc/init.d/alsasound stop && modprobe snd-hda-intel - that changed > > > it. (i'll have a look into init.d/alsasound to see if there are any > > > clues) > > > > Interesting. So, resetting the controller alone can change the > > SSID. It doesn't happen on other systems. > > > > > > Could you try to apply the patch below on alsa-kernel directory with > > -p2? This will disable the additional COEF setups, which I blindly > > copied from older cs4207 patch. > > > > > > thanks, > > > > Takashi > > > > --- > > diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c > > index b1fd183..fda83b2 100644 > > --- a/sound/pci/hda/patch_cirrus.c > > +++ b/sound/pci/hda/patch_cirrus.c > > @@ -933,7 +933,7 @@ static void init_input(struct hda_codec *codec) > > change_cur_input(codec, spec->cur_input, 1); > > if (spec->mic_detect) > > cs_automic(codec); > > - > > +#if 0 > > coef = 0x000a; /* ADC1/2 - Digital and Analog Soft Ramp */ > > if (is_active_pin(codec, CS_DMIC2_PIN_NID)) > > coef |= 0x0500; /* DMIC2 enable 2 channels, disable GPIO1 */ > > @@ -943,6 +943,7 @@ static void init_input(struct hda_codec *codec) > > * IDX_SPDIF_CTL. > > */ > > cs_vendor_coef_set(codec, IDX_ADC_CFG, coef); > > +#endif > > } > > > > static struct hda_verb cs_coef_init_verbs[] = { > > @@ -980,10 +981,10 @@ static int cs_init(struct hda_codec *codec) > > { > > struct cs_spec *spec = codec->spec; > > > > - snd_hda_sequence_write(codec, cs_coef_init_verbs); > > + /*snd_hda_sequence_write(codec, cs_coef_init_verbs);*/ > > init_output(codec); > > init_input(codec); > > - init_digital(codec); > > + /*init_digital(codec);*/ > > return 0; > > } > > > wow okay... > so aplay test.wav didn't give me any sound, but when i tried to stop it (Ctrl-C) i couldn't and i had to kill it from another term, which resulted in this: When you run like below % aplay -Dplughw -vvv somefile.wav does it proceed? If not, it means that the DMA got stuck somewhere. If it goes, then the problem is in another place. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel