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