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);