On Thu, 31 May 2001, David Raufeisen wrote:

> Hi,
>
> I used this patch on 2.4.5, still oops's ..

But now it progressed a bit more ;)

>
> >>EIP; c01b91eb <sblive_writeptr_tag+2b/c0>   <=====
> Trace; c01bc853 <emu10k1_voice_free+43/80>
> Trace; c01b86c4 <emu10k1_waveout_close+24/40>
> Trace; c01b8666 <emu10k1_waveout_open+66/a0>
> Trace; c01b4f4f <emu10k1_audio_write+cf/1d0>
> Trace; c012cf46 <sys_write+96/d0>
> Trace; c0106bab <system_call+33/38>
>


New patch attached.

>
> On Thursday, 31 May 2001, at 12:01:05 (+0200),
> [EMAIL PROTECTED] wrote:
>
> >
> > Thank you for the trace. Patch attached, please test it out.
> >
> > Rui Sousa
> >
> > P.S: in the future always CC emu10k1-devel, or instead of a 7 day delay in
> > getting something fixed the message might just get lost.
> >
diff -u -r1.166 audio.c
--- audio.c     2001/04/22 15:44:25     1.166
+++ audio.c     2001/05/31 17:23:03
@@ -1231,6 +1231,9 @@
                woinst->buffer.ossfragshift = 0;
                woinst->buffer.numfrags = 0;
                woinst->device = (card->audio_dev1 == minor);
+               woinst->timer.state = TIMER_STATE_UNINSTALLED;
+               woinst->voice.usage = VOICE_USAGE_FREE;
+               woinst->buffer.emupageindex = -1;
 
                init_waitqueue_head(&woinst->wait_queue);
 
Index: cardwo.c
===================================================================
RCS file: /usr/local/cvsroot/emu10k1/cardwo.c,v
retrieving revision 1.129
diff -u -r1.129 cardwo.c
--- cardwo.c    2001/05/02 07:58:31     1.129
+++ cardwo.c    2001/05/31 17:23:04
@@ -143,8 +143,10 @@
        if (woinst->format.bitsperchannel == 16)
                voice->flags |= VOICE_FLAGS_16BIT;
 
-       if (emu10k1_voice_alloc(card, voice) < 0)
+       if (emu10k1_voice_alloc(card, voice) < 0) {
+               voice->usage = VOICE_USAGE_FREE;
                return -1;
+       }
 
        /* Calculate pitch */
        voice->initial_pitch = (u16) (srToPitch(woinst->format.samplingrate) >> 8);

Reply via email to