summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-01-19 11:42:55 +0100
committerTakashi Iwai <tiwai@suse.de>2012-01-19 11:42:55 +0100
commitb90bf1de7cb65e7f61798fcfbcf74ae72207b0dc (patch)
tree5c368e45a5ab0589cb1f13674b1f50baaee775bc /sound
parentALSA: virtuoso: Xonar DS: fix polarity of front output (diff)
downloadlinux-b90bf1de7cb65e7f61798fcfbcf74ae72207b0dc.tar.xz
linux-b90bf1de7cb65e7f61798fcfbcf74ae72207b0dc.zip
ALSA: hda/realtek - Avoid multi-ios conflicting with multi-speakers
When a machine has multiple speakers, we don't need to create the controls for multi-ios. Check the number of primary outputs beforehand. Note that this workaround might not work always with new codecs in future; this assumes that both speakers and multi-io jacks share the same mixers/DACs. If they are routed with different mixers, the individual mixer controls should be needed. But, so far, this doesn't happen with the existing ALC codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_realtek.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 5e82acf77c5a..61ccbe832b75 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3233,7 +3233,7 @@ static int alc_auto_create_multi_out_ctls(struct hda_codec *codec,
int i, err, noutputs;
noutputs = cfg->line_outs;
- if (spec->multi_ios > 0)
+ if (spec->multi_ios > 0 && cfg->line_outs < 3)
noutputs += spec->multi_ios;
for (i = 0; i < noutputs; i++) {