Re: Backported sbxfi driver (UNTESTED!)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Fri, 17 Oct 2008 13:58:20 +0400,The Source wrote:> > Takashi Iwai пишет:> > At Fri, 17 Oct 2008 11:57:08 +0400,> > The Source wrote:> >   > >> Takashi Iwai пишет:> >>     > >>> At Thu, 16 Oct 2008 22:18:07 +0400,> >>> The Source wrote:> >>>   > >>>       > >>>>>> Ok. OpenAL with alsa also seem to cause problems.> >>>>>>     > >>>>>>         > >>>>>>             > >>>>> In both cases, check the period_size and buffer_size values (shown in> >>>>> the kernel message, or /proc/asound/card0/pcm0p/sub0/hw_params).> >>>>> And, try to aplay with these parameters, whether you get the similar> >>>>> problem.> >>>>>> >>>>> 	% aplay -v --period-size=xxx --buffer-size=yyy foo.wav> >>>>>> >>>>>> >>>>> Takashi> >>>>>> >>>>>   > >>>>>       > >>>>>           > >>>> I'm sorry, but any attemp to play file with ossplay results in complete > >>>> system hang with error:> >>>> unable to handle NULL ponter dereference at address > >>>> 0000000000000008.....(hang, no more output).> >>>> I tried many wav formats. So I can't get error log or period and buffer > >>>> sizes, sorry.> >>>>     > >>>>         > >>> Can anyone confirm to reproduce Oops with OSS apps (ossplay)?> >>>> >>> I'm wondering whether this has anything to do with the capture.> >>> Can you record the sound, and change the capture mixer element properly?> >>>> >>>> >>> thanks,> >>>> >>> Takashi> >>>> >>>   > >>>       > >> I checked mplayer. It uses period size 1024 instead of 4096 and 16384 > >> buffer size (default). Sound is choppy (sound pauses is more frequent > >> when rate is lower).> >> However an attempt to play the same file with the same period and buffer > >> sizes with aplay results in complete system hang.> >>     > >> > OK, that looks like a problem.  Looks like the timer resolution can be> > short like that, or something racy in the timer handling.> >> > Can you check whether this happens with XXX_SYSTEM_TIMER, too?> >> > Or, does the patch below avoid the problem, at least?> >> >> > thanks,> >> > Takashi> >> > diff --git a/sound/pci/sbxfi/sbxfi.c b/sound/pci/sbxfi/sbxfi.c> > index 26a6cd3..5ceb228 100644> > --- a/sound/pci/sbxfi/sbxfi.c> > +++ b/sound/pci/sbxfi/sbxfi.c> > @@ -277,6 +277,7 @@ static void sbxfi_rearm_timer(struct sbxfi *chip, int ticks)> >  #else> >  > >  #define MAX_TICKS	((1 << 13) - 1)> > +#define MIN_TICKS	1000		/* FIXME: really so? */> >  > >  static void sbxfi_init_timer(struct sbxfi *chip)> >  {> > @@ -287,6 +288,8 @@ static void sbxfi_set_timer(struct sbxfi *chip, int ticks)> >  	LOG(2, "SET TIMER TICKS = %d\n", ticks);> >  	if (ticks > MAX_TICKS)> >  		ticks = MAX_TICKS;> > +	else if (ticks < MIN_TICKS)> > +		ticks = MIN_TICKS;> >  	sbxfi_write(chip, TIMR, ticks | TIMR_IE | TIMR_IP);> >  }> >  static void sbxfi_stop_timer(struct sbxfi *chip)> >> >   > After patch:> > Without system timer:> > aplay --period-size=1024 96000_16_Stereo.wav> Plays fine> > aplay --period-size=1024 22050_16_Mono.wav> BUG: unable to handle kernel NULL pointer dereference at 0000000000000008> Hang> > With system timer:> > aplay --period-size=1024 96000_16_Stereo.wav> Superglitch. Each sample is played many times before advancing to next one.> > aplay --period-size=1024 22050_16_Mono.wav> Instant reboot.
Just to be sure: you don't enable XXX_CONT_RATE, right?It's known to be buggy, so disabled as default now.

Takashi_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux