* alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem.
@ 2003-11-17 16:04 Nima Ghassemi
2003-11-16 17:35 ` Jaroslav Kysela
0 siblings, 1 reply; 5+ messages in thread
From: Nima Ghassemi @ 2003-11-17 16:04 UTC (permalink / raw)
To: alsa-devel
hi,
there's some problem which I tracked down to
~alsa-driver/sound/core/control.c
int snd_ctl_add(snd_card_t * card, snd_kcontrol_t * kcontrol)
{
snd_ctl_elem_id_t id;
unsigned int idx;
snd_runtime_check(card != NULL && kcontrol != NULL, return -EINVAL);
snd_assert(kcontrol->info != NULL, return -EINVAL);
id = kcontrol->id;
down_write(&card->controls_rwsem);
if (_ctl_find_id(card, &id)) {
up_write(&card->controls_rwsem);
snd_ctl_free_one(kcontrol);
return -EBUSY;
}
[...]
the problem lies in _ctl_find_id (card, &id). by commenting the if-block
out, everything (as well
as the sound-card) works perfectly (as far as I could test it...).
this is the error-message I get when I leave eveything as it is:
----------------------------------------
root@sipiyou :/tmp/alsa/alsa-driver> modprobe snd-interwave
/lib/modules/2.4.22/kernel/sound/isa/gus/snd-interwave.o: init_module:
No such device
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters
/lib/modules/2.4.22/kernel/sound/isa/gus/snd-interwave.o: insmod
/lib/modules/2.4.22/kernel/sound/isa/gus/snd-interwave.o failed
/lib/modules/2.4.22/kernel/sound/isa/gus/snd-interwave.o: insmod
snd-interwave failed
----------------------------------------
/etc/modules.conf:
options snd-interwave index=0 id="GusPnP" enable=1 port=0x220 irq=11
dma1=5 dma2=7
this is my config:
- devfs
- kernel 2.4.22
- amd interwave (ultrasound pnp)
Nima.
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem. 2003-11-17 16:04 alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem Nima Ghassemi @ 2003-11-16 17:35 ` Jaroslav Kysela 2003-11-17 1:40 ` Paul Hanly (Hotmail) ` (2 more replies) 0 siblings, 3 replies; 5+ messages in thread From: Jaroslav Kysela @ 2003-11-16 17:35 UTC (permalink / raw) To: Nima Ghassemi; +Cc: alsa-devel On Mon, 17 Nov 2003, Nima Ghassemi wrote: > hi, > > there's some problem which I tracked down to > > ~alsa-driver/sound/core/control.c > > int snd_ctl_add(snd_card_t * card, snd_kcontrol_t * kcontrol) > { > snd_ctl_elem_id_t id; > unsigned int idx; > > snd_runtime_check(card != NULL && kcontrol != NULL, return -EINVAL); > snd_assert(kcontrol->info != NULL, return -EINVAL); > id = kcontrol->id; > down_write(&card->controls_rwsem); > if (_ctl_find_id(card, &id)) { > up_write(&card->controls_rwsem); > snd_ctl_free_one(kcontrol); > return -EBUSY; > } > [...] > > the problem lies in _ctl_find_id (card, &id). by commenting the if-block > out, everything (as well > as the sound-card) works perfectly (as far as I could test it...). Can you add some printk's to determine which id is causing the problem so we can fix it? Thanks. Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF. Net email is sponsored by: GoToMyPC GoToMyPC is the fast, easy and secure way to access your computer from any Web browser or wireless device. Click here to Try it Free! https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem. 2003-11-16 17:35 ` Jaroslav Kysela @ 2003-11-17 1:40 ` Paul Hanly (Hotmail) [not found] ` <3FB9E24B.5000602@web.de> 2003-11-18 9:18 ` Nima Ghassemi 2 siblings, 0 replies; 5+ messages in thread From: Paul Hanly (Hotmail) @ 2003-11-17 1:40 UTC (permalink / raw) To: Jaroslav Kysela, Nima Ghassemi; +Cc: alsa-devel I don't know if this is related but under Mdk 9.1 I also get problems with core: [root@localhost alsa-driver-0.9.8]# modprobe snd-au8820 /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o: unresolved symbol _snd_magic_kcalloc /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o: unresolved symbol snd_hidden_vfree /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o: unresolved symbol snd_magic_kfree /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o: unresolved symbol snd_hidden_kfree /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o: unresolved symbol snd_memory_info_done /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o: unresolved symbol snd_memory_info_init /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o: unresolved symbol snd_hidden_vmalloc modprobe: insmod /lib/modules/2.4.21-0.13mdk/kernel/sound/acore/snd.o failed modprobe: insmod snd-au8820 failed If I: urpmi kernel-source it tells me everything is already installed. If I modprobe or insmod kernel-source it can't find the module kernel-source. Please tell me I don't have to recompile the kernel!!! Cheers Paul ----- Original Message ----- From: "Jaroslav Kysela" <perex@suse.cz> To: "Nima Ghassemi" <ngn928@web.de> Cc: <alsa-devel@lists.sourceforge.net> Sent: Monday, November 17, 2003 4:35 AM Subject: Re: [Alsa-devel] alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem. > On Mon, 17 Nov 2003, Nima Ghassemi wrote: > > > hi, > > > > there's some problem which I tracked down to > > > > ~alsa-driver/sound/core/control.c > > > > int snd_ctl_add(snd_card_t * card, snd_kcontrol_t * kcontrol) > > { > > snd_ctl_elem_id_t id; > > unsigned int idx; > > > > snd_runtime_check(card != NULL && kcontrol != NULL, return -EINVAL); > > snd_assert(kcontrol->info != NULL, return -EINVAL); > > id = kcontrol->id; > > down_write(&card->controls_rwsem); > > if (_ctl_find_id(card, &id)) { > > up_write(&card->controls_rwsem); > > snd_ctl_free_one(kcontrol); > > return -EBUSY; > > } > > [...] > > > > the problem lies in _ctl_find_id (card, &id). by commenting the if-block > > out, everything (as well > > as the sound-card) works perfectly (as far as I could test it...). > > Can you add some printk's to determine which id is causing the problem so > we can fix it? Thanks. > > Jaroslav > > ----- > Jaroslav Kysela <perex@suse.cz> > Linux Kernel Sound Maintainer > ALSA Project, SuSE Labs > > > ------------------------------------------------------- > This SF. Net email is sponsored by: GoToMyPC > GoToMyPC is the fast, easy and secure way to access your computer from > any Web browser or wireless device. Click here to Try it Free! > https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/alsa-devel > ------------------------------------------------------- This SF. Net email is sponsored by: GoToMyPC GoToMyPC is the fast, easy and secure way to access your computer from any Web browser or wireless device. Click here to Try it Free! https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <3FB9E24B.5000602@web.de>]
[parent not found: <Pine.LNX.4.53.0311171022090.16992@pnote.perex-int.cz>]
* Re: alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem. [not found] ` <Pine.LNX.4.53.0311171022090.16992@pnote.perex-int.cz> @ 2003-11-17 10:19 ` Nima Ghassemi 0 siblings, 0 replies; 5+ messages in thread From: Nima Ghassemi @ 2003-11-17 10:19 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: alsa-devel Well... still the same... here's the output again: Nov 17 11:16:34 sipiyou kernel: >id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Capture Volume' Nov 17 11:16:34 sipiyou kernel: _ctl_find_id return NULL Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 17 11:16:34 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Capture Source' Nov 17 11:16:34 sipiyou kernel: _ctl_find_id return NULL Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 17 11:16:34 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Capture Source' id->name= 'Mic Boost' Nov 17 11:16:34 sipiyou kernel: _ctl_find_id return NULL Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 17 11:16:34 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Capture Source' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mic Boost' id->name= 'Loopback Capture Switch' Nov 17 11:16:34 sipiyou kernel: _ctl_find_id return NULL Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 17 11:16:34 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Capture Source' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Mic Boost' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'Loopback Capture Switch' id->name= 'Loopback Capture Volume' Nov 17 11:16:34 sipiyou kernel: _ctl_find_id return NULL Nov 17 11:16:34 sipiyou kernel: snd-mixer-4231 ok Nov 17 11:16:34 sipiyou kernel: pcm-chan returns 2 Nov 17 11:16:34 sipiyou kernel: capture = 0 , interwave =1 Nov 17 11:16:34 sipiyou kernel: pcm_dev = 1 channels = 2 Nov 17 11:16:34 sipiyou kernel: snd-pcm-new ok Nov 17 11:16:34 sipiyou kernel: snd-pcm-set ops ok Nov 17 11:16:34 sipiyou kernel: snd-pcm-lib-preallocated ok Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 17 11:16:34 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'PCM Playback Volume' Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 17 11:16:34 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 17 11:16:34 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 17 11:16:34 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'PCM Playback Volume' Nov 17 11:16:34 sipiyou kernel: kctl->id.index = 0 id->index = 0 Nov 17 11:16:34 sipiyou kernel: kctl->id.index + kctl->count <= (?) 1 id->index = 0 Nov 17 11:16:34 sipiyou kernel: list_for_each(list, &card->controls) exit _ctl_find_id Nov 17 11:16:34 sipiyou kernel: bug here id=0 2 Nov 17 11:16:34 sipiyou kernel: xxxx card = -454434304, kctl = -584178112 Nov 17 11:16:34 sipiyou kernel: pcm-new returns -16 Nov 17 11:16:34 sipiyou kernel: InterWave soundcard not found or device busy >On Tue, 18 Nov 2003, Nima Ghassemi wrote: > > > >>Hi Jaroslav! >> >>here we go: >>I added some printk's to these routines: >> >> > >Thanks. Please, try this patch: > >Index: gus_pcm.c >=================================================================== >RCS file: /cvsroot/alsa/alsa-kernel/isa/gus/gus_pcm.c,v >retrieving revision 1.15 >diff -u -r1.15 gus_pcm.c >--- gus_pcm.c 1 Mar 2003 19:04:29 -0000 1.15 >+++ gus_pcm.c 17 Nov 2003 09:25:09 -0000 >@@ -813,6 +813,15 @@ > .put = snd_gf1_pcm_volume_put > }; > >+static snd_kcontrol_new_t snd_gf1_pcm_volume_control1 = >+{ >+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, >+ .name = "GPCM Playback Volume", >+ .info = snd_gf1_pcm_volume_info, >+ .get = snd_gf1_pcm_volume_get, >+ .put = snd_gf1_pcm_volume_put >+}; >+ > static snd_pcm_ops_t snd_gf1_pcm_playback_ops = { > .open = snd_gf1_pcm_playback_open, > .close = snd_gf1_pcm_playback_close, >@@ -880,6 +889,10 @@ > strcat(pcm->name, " (synth)"); > gus->pcm = pcm; > >+ if (gus->codec_flag) >+ kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control1, gus); >+ else >+ kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control, gus); > if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control, gus))) < 0) > return err; > kctl->id.index = control_index; > > Jaroslav > >----- >Jaroslav Kysela <perex@suse.cz> >Linux Kernel Sound Maintainer >ALSA Project, SuSE Labs > > ------------------------------------------------------- This SF. Net email is sponsored by: GoToMyPC GoToMyPC is the fast, easy and secure way to access your computer from any Web browser or wireless device. Click here to Try it Free! https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem. 2003-11-16 17:35 ` Jaroslav Kysela 2003-11-17 1:40 ` Paul Hanly (Hotmail) [not found] ` <3FB9E24B.5000602@web.de> @ 2003-11-18 9:18 ` Nima Ghassemi 2 siblings, 0 replies; 5+ messages in thread From: Nima Ghassemi @ 2003-11-18 9:18 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: alsa-devel Hi Jaroslav! here we go: I added some printk's to these routines: ---------------------------------------------------------------------- int snd_ctl_add(snd_card_t * card, snd_kcontrol_t * kcontrol) { snd_ctl_elem_id_t id; unsigned int idx; unsigned int dummy; printk ("_snd_ctl_add called (/sound/core/control.c)\n"); snd_runtime_check(card != NULL && kcontrol != NULL, return -EINVAL); snd_assert(kcontrol->info != NULL, return -EINVAL); id = kcontrol->id; printk ("_snd_ctl_add:: kcontrol->id == %d\n",id); down_write(&card->controls_rwsem); if (_ctl_find_id(card, &id)) { printk ("bug here id=%d %d\n",id,-EBUSY); up_write(&card->controls_rwsem); snd_ctl_free_one(kcontrol); return -EBUSY; } if (card->last_numid > 0x80000000 && card->last_numid + kcontrol->count < 0x80000000) { up_write(&card->controls_rwsem); snd_ctl_free_one(kcontrol); return -ENOMEM; /* FIXME: find a hole */ } list_add_tail(&kcontrol->list, &card->controls); card->controls_count += kcontrol->count; kcontrol->id.numid = card->last_numid + 1; card->last_numid += kcontrol->count; up_write(&card->controls_rwsem); for (idx = 0; idx < kcontrol->count; idx++, id.index++, id.numid++) snd_ctl_notify(card, SNDRV_CTL_EVENT_MASK_ADD, &id); return 0; } ---------------------------------------------------------------------- static snd_kcontrol_t *_ctl_find_id(snd_card_t * card, snd_ctl_elem_id_t *id) { struct list_head *list; snd_kcontrol_t *kctl; printk ("_ctl_find_id called (/sound/core/control.c)\n"); snd_runtime_check(card != NULL && id != NULL, return NULL); if (id->numid != 0) { printk ("return _ctl_find_numid, id->numid != 0 , but id->numid is = %X\n",id->numid); return _ctl_find_numid(card, id->numid); } list_for_each(list, &card->controls) { printk ("list_for_each(list, &card->controls)-loop start\n"); kctl = snd_kcontrol(list); printk ("kctl->id.face = %X, id->iface = %X\n",kctl->id.iface,id->iface); if (kctl->id.iface != id->iface) { continue; } printk ("kctl->id.device = %X id->device= %X\n",kctl->id.device,id->device); if (kctl->id.device != id->device) { printk ("id.device not ok\n"); continue; } printk ("kctl->id.subdevice = %X id->subdevice=%X\n",kctl->id.subdevice,id->subdevice); if (kctl->id.subdevice != id->subdevice) { continue; } printk ("kctl->id.name = '%s' id->name= '%s'\n",kctl->id.name,id->name); if (strncmp(kctl->id.name, id->name, sizeof(kctl->id.name))) { continue; } printk ("kctl->id.index = %X id->index = %X\n",kctl->id.index,id->index); if (kctl->id.index > id->index) { continue; } printk ("kctl->id.index + kctl->count <= (?) %X id->index = %X\n",kctl->id.index+kctl->count,id->index); if (kctl->id.index + kctl->count <= id->index) { continue; } printk ("list_for_each(list, &card->controls) exit _ctl_find_id\n"); return kctl; } printk ("_ctl_find_id return NULL\n"); return NULL; } ------------------------------------------------------------------------------------------ this is my syslog-output: what bugs me is that the very first syslog message is crippled. are there any problems with gcc 3.2.3 ?! (or with glibc 2.3.2) Nov 18 10:05:41 sipiyou kernel: >id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Capture Volume' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Capture Volume' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Capture Volume' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Capture Volume' Nov 18 10:05:41 sipiyou kernel: _ctl_find_id return NULL Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 18 10:05:41 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Capture Source' Nov 18 10:05:41 sipiyou kernel: _ctl_find_id return NULL Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 18 10:05:41 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Capture Source' id->name= 'Mic Boost' Nov 18 10:05:41 sipiyou kernel: _ctl_find_id return NULL Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 18 10:05:41 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Capture Source' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Mic Boost' id->name= 'Loopback Capture Switch' Nov 18 10:05:41 sipiyou kernel: _ctl_find_id return NULL Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 18 10:05:41 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'Loopback Capture Volume' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'Loopback Capture Volume' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Switch' id->name= 'Loopback Capture Volume' Nov 18 10:05:41 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:41 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:41 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:41 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:41 sipiyou kernel: kctl->id.name = 'Line Playback Volume' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Aux Playback Switch' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Aux Playback Volume' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Mono Playback Switch' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Mono Playback Volume' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Mono Output Playback Switch' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Mono Output Playback Bypass' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Capture Volume' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Capture Source' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Mic Boost' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'Loopback Capture Switch' id->name= 'Loopback Capture Volume' Nov 18 10:05:42 sipiyou kernel: _ctl_find_id return NULL Nov 18 10:05:42 sipiyou kernel: snd-mixer-4231 ok Nov 18 10:05:42 sipiyou kernel: pcm-chan returns 2 Nov 18 10:05:42 sipiyou kernel: capture = 0 , interwave =1 Nov 18 10:05:42 sipiyou kernel: pcm_dev = 1 channels = 2 Nov 18 10:05:42 sipiyou kernel: snd-pcm-new ok Nov 18 10:05:42 sipiyou kernel: snd-pcm-set ops ok Nov 18 10:05:42 sipiyou kernel: snd-pcm-lib-preallocated ok Nov 18 10:05:42 sipiyou kernel: _snd_ctl_add called (/sound/core/control.c) Nov 18 10:05:42 sipiyou kernel: _snd_ctl_add:: kcontrol->id == 0 Nov 18 10:05:42 sipiyou kernel: _ctl_find_id called (/sound/core/control.c) Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'PCM Playback Switch' id->name= 'PCM Playback Volume' Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls)-loop start Nov 18 10:05:42 sipiyou kernel: kctl->id.face = 2, id->iface = 2 Nov 18 10:05:42 sipiyou kernel: kctl->id.device = 0 id->device= 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.subdevice = 0 id->subdevice=0 Nov 18 10:05:42 sipiyou kernel: kctl->id.name = 'PCM Playback Volume' id->name= 'PCM Playback Volume' Nov 18 10:05:42 sipiyou kernel: kctl->id.index = 0 id->index = 0 Nov 18 10:05:42 sipiyou kernel: kctl->id.index + kctl->count <= (?) 1 id->index = 0 Nov 18 10:05:42 sipiyou kernel: list_for_each(list, &card->controls) exit _ctl_find_id Nov 18 10:05:42 sipiyou kernel: bug here id=0 2 Nov 18 10:05:42 sipiyou kernel: bitch card = -454433792, kctl = -551828960 Nov 18 10:05:42 sipiyou kernel: pcm-new returns -16 Nov 18 10:05:42 sipiyou kernel: InterWave soundcard not found or device busy -------------------------------------------------------------------------------- I did in the meanwhile another test with the latest 4F-OSS stuff (ftp://www.se.opensound.com/pub/oss/linux/oss398b-linux-v2x.tar.gz). They're having the same problem with the interwave card (error message is almost the same which says that the card is not found or busy...). Did they copy the alsa-engine and are now charging money for it ? Nima. >On Mon, 17 Nov 2003, Nima Ghassemi wrote: > > > >>hi, >> >>there's some problem which I tracked down to >> >>~alsa-driver/sound/core/control.c >> >>int snd_ctl_add(snd_card_t * card, snd_kcontrol_t * kcontrol) >>{ >> snd_ctl_elem_id_t id; >> unsigned int idx; >> >> snd_runtime_check(card != NULL && kcontrol != NULL, return -EINVAL); >> snd_assert(kcontrol->info != NULL, return -EINVAL); >> id = kcontrol->id; >> down_write(&card->controls_rwsem); >> if (_ctl_find_id(card, &id)) { >> up_write(&card->controls_rwsem); >> snd_ctl_free_one(kcontrol); >> return -EBUSY; >> } >>[...] >> >>the problem lies in _ctl_find_id (card, &id). by commenting the if-block >>out, everything (as well >>as the sound-card) works perfectly (as far as I could test it...). >> >> > >Can you add some printk's to determine which id is causing the problem so >we can fix it? Thanks. > > Jaroslav > >----- >Jaroslav Kysela <perex@suse.cz> >Linux Kernel Sound Maintainer >ALSA Project, SuSE Labs > > >------------------------------------------------------- >This SF. Net email is sponsored by: GoToMyPC >GoToMyPC is the fast, easy and secure way to access your computer from >any Web browser or wireless device. Click here to Try it Free! >https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl >_______________________________________________ >Alsa-devel mailing list >Alsa-devel@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/alsa-devel > > ------------------------------------------------------- This SF. Net email is sponsored by: GoToMyPC GoToMyPC is the fast, easy and secure way to access your computer from any Web browser or wireless device. Click here to Try it Free! https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-11-18 9:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-17 16:04 alsa - 0.9.8 (and today's cvs - 16.11.2003) interwave problem Nima Ghassemi
2003-11-16 17:35 ` Jaroslav Kysela
2003-11-17 1:40 ` Paul Hanly (Hotmail)
[not found] ` <3FB9E24B.5000602@web.de>
[not found] ` <Pine.LNX.4.53.0311171022090.16992@pnote.perex-int.cz>
2003-11-17 10:19 ` Nima Ghassemi
2003-11-18 9:18 ` Nima Ghassemi
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.