* snd-ctxfi oops @ 2009-06-12 3:52 The Source 2009-06-12 7:20 ` Takashi Iwai 0 siblings, 1 reply; 7+ messages in thread From: The Source @ 2009-06-12 3:52 UTC (permalink / raw) To: Takashi Iwai, alsa-devel Hello. I use snd-ctxfi from 8 June snapshot. I hadn't oopses since I installed this driver but recently I got one again: Kernel failure message 1: BUG: sleeping function called from invalid context at mm/slub.c:1599 in_atomic(): 0, irqs_disabled(): 1, pid: 2537, name: gstreamer-prope Pid: 2537, comm: gstreamer-prope Tainted: P 2.6.29.4-167.fc11.x86_64 #1 Call Trace: [<ffffffff8103ff0f>] __might_sleep+0x10b/0x110 [<ffffffff810cd734>] __kmalloc+0x73/0x130 [<ffffffffa0b4b142>] ? daio_rsc_init+0xaa/0x125 [snd_ctxfi] [<ffffffffa0b4b212>] dao_rsc_init+0x55/0x1c0 [snd_ctxfi] [<ffffffffa0b4b3d2>] dao_rsc_reinit+0x55/0x5d [snd_ctxfi] [<ffffffff813abd6c>] ? _spin_lock_irqsave+0x32/0x3b [<ffffffffa0b454fe>] atc_spdif_out_passthru+0x92/0x136 [snd_ctxfi] [<ffffffffa0b4744d>] ct_pcm_playback_open+0x8b/0x11a [snd_ctxfi] [<ffffffffa0b34498>] snd_pcm_open_substream+0x46/0x83 [snd_pcm] [<ffffffffa0b345a8>] snd_pcm_open+0xd3/0x1db [snd_pcm] [<ffffffff810406fd>] ? default_wake_function+0x0/0x14 [<ffffffffa0b3471a>] snd_pcm_playback_open+0x31/0x36 [snd_pcm] [<ffffffff813abe16>] ? lock_kernel+0x21/0x31 [<ffffffffa00ec57d>] snd_open+0x105/0x184 [snd] [<ffffffff810d7da3>] chrdev_open+0x152/0x171 [<ffffffff810d7c51>] ? chrdev_open+0x0/0x171 [<ffffffff810d3922>] __dentry_open+0x143/0x273 [<ffffffff810d3b22>] nameidata_to_filp+0x42/0x53 [<ffffffff810df1bd>] do_filp_open+0x3fd/0x7b8 [<ffffffff810e0f0b>] ? vfs_ioctl+0x22/0x87 [<ffffffff811b95b2>] ? might_fault+0x1f/0x21 [<ffffffff811b96b1>] ? __strncpy_from_user+0x1e/0x49 [<ffffffff810e859c>] ? alloc_fd+0x11b/0x12d [<ffffffff810d3712>] do_sys_open+0x59/0xda [<ffffffff810d37c6>] sys_open+0x20/0x22 [<ffffffff8101133a>] system_call_fastpath+0x16/0x1b ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: snd-ctxfi oops 2009-06-12 3:52 snd-ctxfi oops The Source @ 2009-06-12 7:20 ` Takashi Iwai [not found] ` <4A329D02.8070202@gmail.com> 0 siblings, 1 reply; 7+ messages in thread From: Takashi Iwai @ 2009-06-12 7:20 UTC (permalink / raw) To: The Source; +Cc: alsa-devel At Fri, 12 Jun 2009 07:52:22 +0400, The Source wrote: > > Hello. I use snd-ctxfi from 8 June snapshot. I hadn't oopses since I > installed this driver but recently I got one again: > > Kernel failure message 1: > BUG: sleeping function called from invalid context at mm/slub.c:1599 Could you try the patch below? thanks, Takashi --- diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c index 80fb2ba..b0adc80 100644 --- a/sound/pci/ctxfi/ctatc.c +++ b/sound/pci/ctxfi/ctatc.c @@ -259,7 +259,6 @@ static int atc_pcm_playback_prepare(struct ct_atc *atc, struct ct_atc_pcm *apcm) int n_amixer = apcm->substream->runtime->channels, i = 0; int device = apcm->substream->pcm->device; unsigned int pitch; - unsigned long flags; if (NULL != apcm->src) { /* Prepared pcm playback */ @@ -311,10 +310,10 @@ static int atc_pcm_playback_prepare(struct ct_atc *atc, struct ct_atc_pcm *apcm) src = apcm->src; for (i = 0; i < n_amixer; i++) { amixer = apcm->amixers[i]; - spin_lock_irqsave(&atc->atc_lock, flags); + mutex_lock(&atc->atc_mutex); amixer->ops->setup(amixer, &src->rsc, INIT_VOL, atc->pcm[i+device*2]); - spin_unlock_irqrestore(&atc->atc_lock, flags); + mutex_unlock(&atc->atc_mutex); src = src->ops->next_interleave(src); if (NULL == src) src = apcm->src; @@ -865,7 +864,6 @@ static int spdif_passthru_playback_setup(struct ct_atc *atc, struct ct_atc_pcm *apcm) { struct dao *dao = container_of(atc->daios[SPDIFOO], struct dao, daio); - unsigned long flags; unsigned int rate = apcm->substream->runtime->rate; unsigned int status; int err; @@ -885,7 +883,7 @@ spdif_passthru_playback_setup(struct ct_atc *atc, struct ct_atc_pcm *apcm) return -ENOENT; } - spin_lock_irqsave(&atc->atc_lock, flags); + mutex_lock(&atc->atc_mutex); dao->ops->get_spos(dao, &status); if (((status >> 24) & IEC958_AES3_CON_FS) != iec958_con_fs) { status &= ((~IEC958_AES3_CON_FS) << 24); @@ -895,7 +893,7 @@ spdif_passthru_playback_setup(struct ct_atc *atc, struct ct_atc_pcm *apcm) } if ((rate != atc->pll_rate) && (32000 != rate)) err = atc_pll_init(atc, rate); - spin_unlock_irqrestore(&atc->atc_lock, flags); + mutex_unlock(&atc->atc_mutex); return err; } @@ -908,7 +906,6 @@ spdif_passthru_playback_prepare(struct ct_atc *atc, struct ct_atc_pcm *apcm) struct dao *dao; int err; int i; - unsigned long flags; if (NULL != apcm->src) return 0; @@ -934,13 +931,13 @@ spdif_passthru_playback_prepare(struct ct_atc *atc, struct ct_atc_pcm *apcm) src = apcm->src; } /* Connect to SPDIFOO */ - spin_lock_irqsave(&atc->atc_lock, flags); + mutex_lock(&atc->atc_mutex); dao = container_of(atc->daios[SPDIFOO], struct dao, daio); amixer = apcm->amixers[0]; dao->ops->set_left_input(dao, &amixer->rsc); amixer = apcm->amixers[1]; dao->ops->set_right_input(dao, &amixer->rsc); - spin_unlock_irqrestore(&atc->atc_lock, flags); + mutex_unlock(&atc->atc_mutex); ct_timer_prepare(apcm->timer); @@ -1088,7 +1085,6 @@ static int atc_spdif_out_set_status(struct ct_atc *atc, unsigned int status) static int atc_spdif_out_passthru(struct ct_atc *atc, unsigned char state) { - unsigned long flags; struct dao_desc da_dsc = {0}; struct dao *dao; int err; @@ -1096,7 +1092,7 @@ static int atc_spdif_out_passthru(struct ct_atc *atc, unsigned char state) struct rsc *rscs[2] = {NULL}; unsigned int spos = 0; - spin_lock_irqsave(&atc->atc_lock, flags); + mutex_lock(&atc->atc_mutex); dao = container_of(atc->daios[SPDIFOO], struct dao, daio); da_dsc.msr = state ? 1 : atc->msr; da_dsc.passthru = state ? 1 : 0; @@ -1114,7 +1110,7 @@ static int atc_spdif_out_passthru(struct ct_atc *atc, unsigned char state) } dao->ops->set_spos(dao, spos); dao->ops->commit_write(dao); - spin_unlock_irqrestore(&atc->atc_lock, flags); + mutex_unlock(&atc->atc_mutex); return err; } @@ -1572,7 +1568,7 @@ int __devinit ct_atc_create(struct snd_card *card, struct pci_dev *pci, atc->msr = msr; atc->chip_type = chip_type; - spin_lock_init(&atc->atc_lock); + mutex_init(&atc->atc_mutex); /* Find card model */ err = atc_identify_card(atc); diff --git a/sound/pci/ctxfi/ctatc.h b/sound/pci/ctxfi/ctatc.h index a033472..9fe620e 100644 --- a/sound/pci/ctxfi/ctatc.h +++ b/sound/pci/ctxfi/ctatc.h @@ -19,7 +19,7 @@ #define CTATC_H #include <linux/types.h> -#include <linux/spinlock_types.h> +#include <linux/mutex.h> #include <linux/pci.h> #include <linux/timer.h> #include <sound/core.h> @@ -90,7 +90,7 @@ struct ct_atc { void (*unmap_audio_buffer)(struct ct_atc *atc, struct ct_atc_pcm *apcm); unsigned long (*get_ptp_phys)(struct ct_atc *atc, int index); - spinlock_t atc_lock; + struct mutex atc_mutex; int (*pcm_playback_prepare)(struct ct_atc *atc, struct ct_atc_pcm *apcm); ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <4A329D02.8070202@gmail.com>]
* Re: snd-ctxfi oops [not found] ` <4A329D02.8070202@gmail.com> @ 2009-06-13 6:05 ` The Source 2009-06-13 8:07 ` Takashi Iwai 0 siblings, 1 reply; 7+ messages in thread From: The Source @ 2009-06-13 6:05 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel On 12.06.2009 22:22, The Source wrote: > On 12.06.2009 11:20, Takashi Iwai wrote: >> At Fri, 12 Jun 2009 07:52:22 +0400, >> The Source wrote: >>> Hello. I use snd-ctxfi from 8 June snapshot. I hadn't oopses since I >>> installed this driver but recently I got one again: >>> >>> Kernel failure message 1: >>> BUG: sleeping function called from invalid context at mm/slub.c:1599 >> Could you try the patch below? >> >> >> thanks, >> >> Takashi >> >> --- >> diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c >> index 80fb2ba..b0adc80 100644 >> --- a/sound/pci/ctxfi/ctatc.c >> +++ b/sound/pci/ctxfi/ctatc.c >> @@ -259,7 +259,6 @@ static int atc_pcm_playback_prepare(struct ct_atc >> *atc, struct ct_atc_pcm *apcm) >> int n_amixer = apcm->substream->runtime->channels, i = 0; >> int device = apcm->substream->pcm->device; >> unsigned int pitch; >> - unsigned long flags; >> >> if (NULL != apcm->src) { >> /* Prepared pcm playback */ >> @@ -311,10 +310,10 @@ static int atc_pcm_playback_prepare(struct >> ct_atc *atc, struct ct_atc_pcm *apcm) >> src = apcm->src; >> for (i = 0; i< n_amixer; i++) { >> amixer = apcm->amixers[i]; >> - spin_lock_irqsave(&atc->atc_lock, flags); >> + mutex_lock(&atc->atc_mutex); >> amixer->ops->setup(amixer,&src->rsc, >> INIT_VOL, atc->pcm[i+device*2]); >> - spin_unlock_irqrestore(&atc->atc_lock, flags); >> + mutex_unlock(&atc->atc_mutex); >> src = src->ops->next_interleave(src); >> if (NULL == src) >> src = apcm->src; >> @@ -865,7 +864,6 @@ static int >> spdif_passthru_playback_setup(struct ct_atc *atc, struct ct_atc_pcm >> *apcm) >> { >> struct dao *dao = container_of(atc->daios[SPDIFOO], struct dao, >> daio); >> - unsigned long flags; >> unsigned int rate = apcm->substream->runtime->rate; >> unsigned int status; >> int err; >> @@ -885,7 +883,7 @@ spdif_passthru_playback_setup(struct ct_atc *atc, >> struct ct_atc_pcm *apcm) >> return -ENOENT; >> } >> >> - spin_lock_irqsave(&atc->atc_lock, flags); >> + mutex_lock(&atc->atc_mutex); >> dao->ops->get_spos(dao,&status); >> if (((status>> 24)& IEC958_AES3_CON_FS) != iec958_con_fs) { >> status&= ((~IEC958_AES3_CON_FS)<< 24); >> @@ -895,7 +893,7 @@ spdif_passthru_playback_setup(struct ct_atc *atc, >> struct ct_atc_pcm *apcm) >> } >> if ((rate != atc->pll_rate)&& (32000 != rate)) >> err = atc_pll_init(atc, rate); >> - spin_unlock_irqrestore(&atc->atc_lock, flags); >> + mutex_unlock(&atc->atc_mutex); >> >> return err; >> } >> @@ -908,7 +906,6 @@ spdif_passthru_playback_prepare(struct ct_atc >> *atc, struct ct_atc_pcm *apcm) >> struct dao *dao; >> int err; >> int i; >> - unsigned long flags; >> >> if (NULL != apcm->src) >> return 0; >> @@ -934,13 +931,13 @@ spdif_passthru_playback_prepare(struct ct_atc >> *atc, struct ct_atc_pcm *apcm) >> src = apcm->src; >> } >> /* Connect to SPDIFOO */ >> - spin_lock_irqsave(&atc->atc_lock, flags); >> + mutex_lock(&atc->atc_mutex); >> dao = container_of(atc->daios[SPDIFOO], struct dao, daio); >> amixer = apcm->amixers[0]; >> dao->ops->set_left_input(dao,&amixer->rsc); >> amixer = apcm->amixers[1]; >> dao->ops->set_right_input(dao,&amixer->rsc); >> - spin_unlock_irqrestore(&atc->atc_lock, flags); >> + mutex_unlock(&atc->atc_mutex); >> >> ct_timer_prepare(apcm->timer); >> >> @@ -1088,7 +1085,6 @@ static int atc_spdif_out_set_status(struct >> ct_atc *atc, unsigned int status) >> >> static int atc_spdif_out_passthru(struct ct_atc *atc, unsigned char >> state) >> { >> - unsigned long flags; >> struct dao_desc da_dsc = {0}; >> struct dao *dao; >> int err; >> @@ -1096,7 +1092,7 @@ static int atc_spdif_out_passthru(struct ct_atc >> *atc, unsigned char state) >> struct rsc *rscs[2] = {NULL}; >> unsigned int spos = 0; >> >> - spin_lock_irqsave(&atc->atc_lock, flags); >> + mutex_lock(&atc->atc_mutex); >> dao = container_of(atc->daios[SPDIFOO], struct dao, daio); >> da_dsc.msr = state ? 1 : atc->msr; >> da_dsc.passthru = state ? 1 : 0; >> @@ -1114,7 +1110,7 @@ static int atc_spdif_out_passthru(struct ct_atc >> *atc, unsigned char state) >> } >> dao->ops->set_spos(dao, spos); >> dao->ops->commit_write(dao); >> - spin_unlock_irqrestore(&atc->atc_lock, flags); >> + mutex_unlock(&atc->atc_mutex); >> >> return err; >> } >> @@ -1572,7 +1568,7 @@ int __devinit ct_atc_create(struct snd_card >> *card, struct pci_dev *pci, >> atc->msr = msr; >> atc->chip_type = chip_type; >> >> - spin_lock_init(&atc->atc_lock); >> + mutex_init(&atc->atc_mutex); >> >> /* Find card model */ >> err = atc_identify_card(atc); >> diff --git a/sound/pci/ctxfi/ctatc.h b/sound/pci/ctxfi/ctatc.h >> index a033472..9fe620e 100644 >> --- a/sound/pci/ctxfi/ctatc.h >> +++ b/sound/pci/ctxfi/ctatc.h >> @@ -19,7 +19,7 @@ >> #define CTATC_H >> >> #include<linux/types.h> >> -#include<linux/spinlock_types.h> >> +#include<linux/mutex.h> >> #include<linux/pci.h> >> #include<linux/timer.h> >> #include<sound/core.h> >> @@ -90,7 +90,7 @@ struct ct_atc { >> void (*unmap_audio_buffer)(struct ct_atc *atc, struct >> ct_atc_pcm *apcm); >> unsigned long (*get_ptp_phys)(struct ct_atc *atc, int index); >> >> - spinlock_t atc_lock; >> + struct mutex atc_mutex; >> >> int (*pcm_playback_prepare)(struct ct_atc *atc, >> struct ct_atc_pcm *apcm); >> > No oopses with this patch so far, thank you. Tested the patch more. Really no oopses. Instead of them I get rare system lockups. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: snd-ctxfi oops 2009-06-13 6:05 ` The Source @ 2009-06-13 8:07 ` Takashi Iwai 2009-06-15 12:56 ` Takashi Iwai 0 siblings, 1 reply; 7+ messages in thread From: Takashi Iwai @ 2009-06-13 8:07 UTC (permalink / raw) To: The Source; +Cc: alsa-devel At Sat, 13 Jun 2009 10:05:08 +0400, The Source wrote: > > On 12.06.2009 22:22, The Source wrote: > > On 12.06.2009 11:20, Takashi Iwai wrote: > >> At Fri, 12 Jun 2009 07:52:22 +0400, > >> The Source wrote: > >>> Hello. I use snd-ctxfi from 8 June snapshot. I hadn't oopses since I > >>> installed this driver but recently I got one again: > >>> > >>> Kernel failure message 1: > >>> BUG: sleeping function called from invalid context at mm/slub.c:1599 > >> Could you try the patch below? > >> > >> > >> thanks, > >> > >> Takashi > >> > >> --- > >> diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c > >> index 80fb2ba..b0adc80 100644 > >> --- a/sound/pci/ctxfi/ctatc.c > >> +++ b/sound/pci/ctxfi/ctatc.c > >> @@ -259,7 +259,6 @@ static int atc_pcm_playback_prepare(struct ct_atc > >> *atc, struct ct_atc_pcm *apcm) > >> int n_amixer = apcm->substream->runtime->channels, i = 0; > >> int device = apcm->substream->pcm->device; > >> unsigned int pitch; > >> - unsigned long flags; > >> > >> if (NULL != apcm->src) { > >> /* Prepared pcm playback */ > >> @@ -311,10 +310,10 @@ static int atc_pcm_playback_prepare(struct > >> ct_atc *atc, struct ct_atc_pcm *apcm) > >> src = apcm->src; > >> for (i = 0; i< n_amixer; i++) { > >> amixer = apcm->amixers[i]; > >> - spin_lock_irqsave(&atc->atc_lock, flags); > >> + mutex_lock(&atc->atc_mutex); > >> amixer->ops->setup(amixer,&src->rsc, > >> INIT_VOL, atc->pcm[i+device*2]); > >> - spin_unlock_irqrestore(&atc->atc_lock, flags); > >> + mutex_unlock(&atc->atc_mutex); > >> src = src->ops->next_interleave(src); > >> if (NULL == src) > >> src = apcm->src; > >> @@ -865,7 +864,6 @@ static int > >> spdif_passthru_playback_setup(struct ct_atc *atc, struct ct_atc_pcm > >> *apcm) > >> { > >> struct dao *dao = container_of(atc->daios[SPDIFOO], struct dao, > >> daio); > >> - unsigned long flags; > >> unsigned int rate = apcm->substream->runtime->rate; > >> unsigned int status; > >> int err; > >> @@ -885,7 +883,7 @@ spdif_passthru_playback_setup(struct ct_atc *atc, > >> struct ct_atc_pcm *apcm) > >> return -ENOENT; > >> } > >> > >> - spin_lock_irqsave(&atc->atc_lock, flags); > >> + mutex_lock(&atc->atc_mutex); > >> dao->ops->get_spos(dao,&status); > >> if (((status>> 24)& IEC958_AES3_CON_FS) != iec958_con_fs) { > >> status&= ((~IEC958_AES3_CON_FS)<< 24); > >> @@ -895,7 +893,7 @@ spdif_passthru_playback_setup(struct ct_atc *atc, > >> struct ct_atc_pcm *apcm) > >> } > >> if ((rate != atc->pll_rate)&& (32000 != rate)) > >> err = atc_pll_init(atc, rate); > >> - spin_unlock_irqrestore(&atc->atc_lock, flags); > >> + mutex_unlock(&atc->atc_mutex); > >> > >> return err; > >> } > >> @@ -908,7 +906,6 @@ spdif_passthru_playback_prepare(struct ct_atc > >> *atc, struct ct_atc_pcm *apcm) > >> struct dao *dao; > >> int err; > >> int i; > >> - unsigned long flags; > >> > >> if (NULL != apcm->src) > >> return 0; > >> @@ -934,13 +931,13 @@ spdif_passthru_playback_prepare(struct ct_atc > >> *atc, struct ct_atc_pcm *apcm) > >> src = apcm->src; > >> } > >> /* Connect to SPDIFOO */ > >> - spin_lock_irqsave(&atc->atc_lock, flags); > >> + mutex_lock(&atc->atc_mutex); > >> dao = container_of(atc->daios[SPDIFOO], struct dao, daio); > >> amixer = apcm->amixers[0]; > >> dao->ops->set_left_input(dao,&amixer->rsc); > >> amixer = apcm->amixers[1]; > >> dao->ops->set_right_input(dao,&amixer->rsc); > >> - spin_unlock_irqrestore(&atc->atc_lock, flags); > >> + mutex_unlock(&atc->atc_mutex); > >> > >> ct_timer_prepare(apcm->timer); > >> > >> @@ -1088,7 +1085,6 @@ static int atc_spdif_out_set_status(struct > >> ct_atc *atc, unsigned int status) > >> > >> static int atc_spdif_out_passthru(struct ct_atc *atc, unsigned char > >> state) > >> { > >> - unsigned long flags; > >> struct dao_desc da_dsc = {0}; > >> struct dao *dao; > >> int err; > >> @@ -1096,7 +1092,7 @@ static int atc_spdif_out_passthru(struct ct_atc > >> *atc, unsigned char state) > >> struct rsc *rscs[2] = {NULL}; > >> unsigned int spos = 0; > >> > >> - spin_lock_irqsave(&atc->atc_lock, flags); > >> + mutex_lock(&atc->atc_mutex); > >> dao = container_of(atc->daios[SPDIFOO], struct dao, daio); > >> da_dsc.msr = state ? 1 : atc->msr; > >> da_dsc.passthru = state ? 1 : 0; > >> @@ -1114,7 +1110,7 @@ static int atc_spdif_out_passthru(struct ct_atc > >> *atc, unsigned char state) > >> } > >> dao->ops->set_spos(dao, spos); > >> dao->ops->commit_write(dao); > >> - spin_unlock_irqrestore(&atc->atc_lock, flags); > >> + mutex_unlock(&atc->atc_mutex); > >> > >> return err; > >> } > >> @@ -1572,7 +1568,7 @@ int __devinit ct_atc_create(struct snd_card > >> *card, struct pci_dev *pci, > >> atc->msr = msr; > >> atc->chip_type = chip_type; > >> > >> - spin_lock_init(&atc->atc_lock); > >> + mutex_init(&atc->atc_mutex); > >> > >> /* Find card model */ > >> err = atc_identify_card(atc); > >> diff --git a/sound/pci/ctxfi/ctatc.h b/sound/pci/ctxfi/ctatc.h > >> index a033472..9fe620e 100644 > >> --- a/sound/pci/ctxfi/ctatc.h > >> +++ b/sound/pci/ctxfi/ctatc.h > >> @@ -19,7 +19,7 @@ > >> #define CTATC_H > >> > >> #include<linux/types.h> > >> -#include<linux/spinlock_types.h> > >> +#include<linux/mutex.h> > >> #include<linux/pci.h> > >> #include<linux/timer.h> > >> #include<sound/core.h> > >> @@ -90,7 +90,7 @@ struct ct_atc { > >> void (*unmap_audio_buffer)(struct ct_atc *atc, struct > >> ct_atc_pcm *apcm); > >> unsigned long (*get_ptp_phys)(struct ct_atc *atc, int index); > >> > >> - spinlock_t atc_lock; > >> + struct mutex atc_mutex; > >> > >> int (*pcm_playback_prepare)(struct ct_atc *atc, > >> struct ct_atc_pcm *apcm); > >> > > No oopses with this patch so far, thank you. > Tested the patch more. Really no oopses. Instead of them I get rare > system lockups. In which situation, exactly? Could you check whether it happens with use_system_timer=1 module option, too? Takashi ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: snd-ctxfi oops 2009-06-13 8:07 ` Takashi Iwai @ 2009-06-15 12:56 ` Takashi Iwai [not found] ` <4A3645C9.40804@gmail.com> 0 siblings, 1 reply; 7+ messages in thread From: Takashi Iwai @ 2009-06-15 12:56 UTC (permalink / raw) To: The Source; +Cc: alsa-devel At Sat, 13 Jun 2009 10:07:49 +0200, I wrote: > > > Tested the patch more. Really no oopses. Instead of them I get rare > > system lockups. > > In which situation, exactly? > Could you check whether it happens with use_system_timer=1 module > option, too? Or try the very latest alsa-driver-snapshot (not daily tarball). I fixed a deadlock issue in cttimer.c now. thanks, Takashi ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <4A3645C9.40804@gmail.com>]
[parent not found: <s5hvdmxejos.wl%tiwai@suse.de>]
[parent not found: <s5htz2hejmx.wl%tiwai@suse.de>]
* Re: snd-ctxfi oops [not found] ` <s5htz2hejmx.wl%tiwai@suse.de> @ 2009-06-17 13:09 ` The Source 2009-06-18 0:17 ` Ted T. Logan 0 siblings, 1 reply; 7+ messages in thread From: The Source @ 2009-06-17 13:09 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel On 15.06.2009 17:01, Takashi Iwai wrote: > At Mon, 15 Jun 2009 15:00:03 +0200, > I wrote: > >> At Mon, 15 Jun 2009 16:59:53 +0400, >> The Source wrote: >> >>> On 15.06.2009 16:56, Takashi Iwai wrote: >>> >>>> At Sat, 13 Jun 2009 10:07:49 +0200, >>>> I wrote: >>>> >>>> >>>>> >>>>> >>>>>> Tested the patch more. Really no oopses. Instead of them I get rare >>>>>> system lockups. >>>>>> >>>>>> >>>>> In which situation, exactly? >>>>> Could you check whether it happens with use_system_timer=1 module >>>>> option, too? >>>>> >>>>> >>>> Or try the very latest alsa-driver-snapshot (not daily tarball). >>>> I fixed a deadlock issue in cttimer.c now. >>>> >>>> >>>> thanks, >>>> >>>> Takashi >>>> >>>> >>>> >>> Should I apply that patch to this snapshot? >>> >> Which patch do you mean? >> Just grab the latest alsa-driver-snapshot.tar.gz from >> ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/ >> > Also, check alsa-driver/alsa-kernel/HEAD whether the commit > 8dca419721d188bfee5f19fad45275856c619a5c > ALSA: ctxfi - Fix deadlock with xfi-timer > is included. > > > Takashi > > Tested the driver and it's fine so far. No craches with any application including Doom 3, which caused system lockups often with earlier versions of the driver. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: snd-ctxfi oops 2009-06-17 13:09 ` The Source @ 2009-06-18 0:17 ` Ted T. Logan 0 siblings, 0 replies; 7+ messages in thread From: Ted T. Logan @ 2009-06-18 0:17 UTC (permalink / raw) To: The Source; +Cc: Takashi Iwai, alsa-devel I upgraded to this new snapshot and have the same click every 1.5 seconds on every single application with my x-fi. I'm just confused as to why this didn't occur at all with the old driver, as in, was something strange introduced? On Wed, 2009-06-17 at 17:09 +0400, The Source wrote: > On 15.06.2009 17:01, Takashi Iwai wrote: > > At Mon, 15 Jun 2009 15:00:03 +0200, > > I wrote: > > > >> At Mon, 15 Jun 2009 16:59:53 +0400, > >> The Source wrote: > >> > >>> On 15.06.2009 16:56, Takashi Iwai wrote: > >>> > >>>> At Sat, 13 Jun 2009 10:07:49 +0200, > >>>> I wrote: > >>>> > >>>> > >>>>> > >>>>> > >>>>>> Tested the patch more. Really no oopses. Instead of them I get rare > >>>>>> system lockups. > >>>>>> > >>>>>> > >>>>> In which situation, exactly? > >>>>> Could you check whether it happens with use_system_timer=1 module > >>>>> option, too? > >>>>> > >>>>> > >>>> Or try the very latest alsa-driver-snapshot (not daily tarball). > >>>> I fixed a deadlock issue in cttimer.c now. > >>>> > >>>> > >>>> thanks, > >>>> > >>>> Takashi > >>>> > >>>> > >>>> > >>> Should I apply that patch to this snapshot? > >>> > >> Which patch do you mean? > >> Just grab the latest alsa-driver-snapshot.tar.gz from > >> ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/ > >> > > Also, check alsa-driver/alsa-kernel/HEAD whether the commit > > 8dca419721d188bfee5f19fad45275856c619a5c > > ALSA: ctxfi - Fix deadlock with xfi-timer > > is included. > > > > > > Takashi > > > > > Tested the driver and it's fine so far. No craches with any application > including Doom 3, which caused system lockups often with earlier > versions of the driver. > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-06-18 0:17 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-12 3:52 snd-ctxfi oops The Source
2009-06-12 7:20 ` Takashi Iwai
[not found] ` <4A329D02.8070202@gmail.com>
2009-06-13 6:05 ` The Source
2009-06-13 8:07 ` Takashi Iwai
2009-06-15 12:56 ` Takashi Iwai
[not found] ` <4A3645C9.40804@gmail.com>
[not found] ` <s5hvdmxejos.wl%tiwai@suse.de>
[not found] ` <s5htz2hejmx.wl%tiwai@suse.de>
2009-06-17 13:09 ` The Source
2009-06-18 0:17 ` Ted T. Logan
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.