summaryrefslogtreecommitdiff
path: root/sound/pci/emu10k1/voice.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/emu10k1/voice.c')
-rw-r--r--sound/pci/emu10k1/voice.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/emu10k1/voice.c b/sound/pci/emu10k1/voice.c
index ac89d09ed9bc..25e78fc188bf 100644
--- a/sound/pci/emu10k1/voice.c
+++ b/sound/pci/emu10k1/voice.c
@@ -87,9 +87,10 @@ static int voice_alloc(struct snd_emu10k1 *emu, int type, int number,
static void voice_free(struct snd_emu10k1 *emu,
struct snd_emu10k1_voice *pvoice)
{
- snd_emu10k1_voice_init(emu, pvoice->number);
+ if (pvoice->dirty)
+ snd_emu10k1_voice_init(emu, pvoice->number);
pvoice->interrupt = NULL;
- pvoice->use = 0;
+ pvoice->use = pvoice->dirty = 0;
pvoice->epcm = NULL;
}