Skip to content

Commit 4c267ae

Browse files
committed
ALSA: sb: Force to disable DMAs once when DMA mode is changed
When the DMA mode is changed on the (still real!) SB AWE32 after playing a stream and closing, the previous DMA setup was still silently kept, and it can confuse the hardware, resulting in the unexpected noises. As a workaround, enforce the disablement of DMA setups when the DMA setup is changed by the kcontrol. https://bugzilla.kernel.org/show_bug.cgi?id=218185 Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent ed29e07 commit 4c267ae

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

sound/isa/sb/sb16_main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -714,6 +714,10 @@ static int snd_sb16_dma_control_put(struct snd_kcontrol *kcontrol, struct snd_ct
714714
change = nval != oval;
715715
snd_sb16_set_dma_mode(chip, nval);
716716
spin_unlock_irqrestore(&chip->reg_lock, flags);
717+
if (change) {
718+
snd_dma_disable(chip->dma8);
719+
snd_dma_disable(chip->dma16);
720+
}
717721
return change;
718722
}
719723

0 commit comments

Comments
 (0)