diff options
-rw-r--r-- | sound/pci/ac97/ac97_codec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index 7abcb10b2754..91d8ceb4e9c2 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -382,7 +382,7 @@ int snd_ac97_update_bits_nolock(struct snd_ac97 *ac97, unsigned short reg, | |||
382 | unsigned short old, new; | 382 | unsigned short old, new; |
383 | 383 | ||
384 | old = snd_ac97_read_cache(ac97, reg); | 384 | old = snd_ac97_read_cache(ac97, reg); |
385 | new = (old & ~mask) | value; | 385 | new = (old & ~mask) | (value & mask); |
386 | change = old != new; | 386 | change = old != new; |
387 | if (change) { | 387 | if (change) { |
388 | ac97->regs[reg] = new; | 388 | ac97->regs[reg] = new; |
@@ -399,7 +399,7 @@ static int snd_ac97_ad18xx_update_pcm_bits(struct snd_ac97 *ac97, int codec, uns | |||
399 | 399 | ||
400 | mutex_lock(&ac97->page_mutex); | 400 | mutex_lock(&ac97->page_mutex); |
401 | old = ac97->spec.ad18xx.pcmreg[codec]; | 401 | old = ac97->spec.ad18xx.pcmreg[codec]; |
402 | new = (old & ~mask) | value; | 402 | new = (old & ~mask) | (value & mask); |
403 | change = old != new; | 403 | change = old != new; |
404 | if (change) { | 404 | if (change) { |
405 | mutex_lock(&ac97->reg_mutex); | 405 | mutex_lock(&ac97->reg_mutex); |