summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorOndrej Zary <linux@rainbow-software.org>2010-08-04 21:56:44 +0200
committerTakashi Iwai <tiwai@suse.de>2010-08-04 23:18:33 +0200
commitc4685849b4d725ab80cd29f5e09f5f128b4724b5 (patch)
tree1a4ecf520eed853e62e5ddcd5da53b667ab09729 /sound
parentALSA: als4000: enable burst mode (diff)
downloadlinux-c4685849b4d725ab80cd29f5e09f5f128b4724b5.tar.xz
linux-c4685849b4d725ab80cd29f5e09f5f128b4724b5.zip
ALSA: als4000: Fix potentially invalid DMA mode setup
My previous patch assumed that the DMA mode (represented by 3 lowest bits of ALS4K_GCR99_DMA_EMULATION_CTRL register) is set to the default value 0. If that's not the case, it might result in invalid mode to be set. This patch fixes this potential problem. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/als4000.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c
index 036a9ba8e1a5..0e247cb90ecc 100644
--- a/sound/pci/als4000.c
+++ b/sound/pci/als4000.c
@@ -765,7 +765,7 @@ static void snd_als4000_configure(struct snd_sb *chip)
snd_als4k_gcr_write(chip, i, 0);
/* enable burst mode to prevent dropouts during high PCI bus usage */
snd_als4k_gcr_write(chip, ALS4K_GCR99_DMA_EMULATION_CTRL,
- snd_als4k_gcr_read(chip, ALS4K_GCR99_DMA_EMULATION_CTRL) | 0x04);
+ (snd_als4k_gcr_read(chip, ALS4K_GCR99_DMA_EMULATION_CTRL) & ~0x07) | 0x04);
spin_unlock_irq(&chip->reg_lock);
}