aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ac97/ac97_codec.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/ac97/ac97_codec.c')
-rw-r--r--sound/pci/ac97/ac97_codec.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index 72e33b9532f0..f8389c2d3e60 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -1236,7 +1236,8 @@ static int snd_ac97_mixer_build(struct snd_ac97 * ac97)
1236 ac97->regs[AC97_CENTER_LFE_MASTER] = 0x8080; 1236 ac97->regs[AC97_CENTER_LFE_MASTER] = 0x8080;
1237 1237
1238 /* build center controls */ 1238 /* build center controls */
1239 if (snd_ac97_try_volume_mix(ac97, AC97_CENTER_LFE_MASTER)) { 1239 if ((snd_ac97_try_volume_mix(ac97, AC97_CENTER_LFE_MASTER))
1240 && !(ac97->flags & AC97_AD_MULTI)) {
1240 if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_center[0], ac97))) < 0) 1241 if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_center[0], ac97))) < 0)
1241 return err; 1242 return err;
1242 if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_center[1], ac97))) < 0) 1243 if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_center[1], ac97))) < 0)
@@ -1248,7 +1249,8 @@ static int snd_ac97_mixer_build(struct snd_ac97 * ac97)
1248 } 1249 }
1249 1250
1250 /* build LFE controls */ 1251 /* build LFE controls */
1251 if (snd_ac97_try_volume_mix(ac97, AC97_CENTER_LFE_MASTER+1)) { 1252 if ((snd_ac97_try_volume_mix(ac97, AC97_CENTER_LFE_MASTER+1))
1253 && !(ac97->flags & AC97_AD_MULTI)) {
1252 if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_lfe[0], ac97))) < 0) 1254 if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_lfe[0], ac97))) < 0)
1253 return err; 1255 return err;
1254 if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_lfe[1], ac97))) < 0) 1256 if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_lfe[1], ac97))) < 0)
@@ -1260,7 +1262,8 @@ static int snd_ac97_mixer_build(struct snd_ac97 * ac97)
1260 } 1262 }
1261 1263
1262 /* build surround controls */ 1264 /* build surround controls */
1263 if (snd_ac97_try_volume_mix(ac97, AC97_SURROUND_MASTER)) { 1265 if ((snd_ac97_try_volume_mix(ac97, AC97_SURROUND_MASTER))
1266 && !(ac97->flags & AC97_AD_MULTI)) {
1264 /* Surround Master (0x38) is with stereo mutes */ 1267 /* Surround Master (0x38) is with stereo mutes */
1265 if ((err = snd_ac97_cmix_new_stereo(card, "Surround Playback", AC97_SURROUND_MASTER, 1, ac97)) < 0) 1268 if ((err = snd_ac97_cmix_new_stereo(card, "Surround Playback", AC97_SURROUND_MASTER, 1, ac97)) < 0)
1266 return err; 1269 return err;