aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/hda/hda_codec.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index cb3a76139341..8805928167f5 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1682,11 +1682,12 @@ int snd_hda_multi_out_analog_prepare(struct hda_codec *codec, struct hda_multi_o
1682 snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, 0, format); 1682 snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, 0, format);
1683 /* surrounds */ 1683 /* surrounds */
1684 for (i = 1; i < mout->num_dacs; i++) { 1684 for (i = 1; i < mout->num_dacs; i++) {
1685 if (i == HDA_REAR && chs == 2) /* copy front to rear */ 1685 if (chs >= (i + 1) * 2) /* independent out */
1686 snd_hda_codec_setup_stream(codec, nids[i], stream_tag, 0, format);
1687 else if (chs >= (i + 1) * 2) /* independent out */
1688 snd_hda_codec_setup_stream(codec, nids[i], stream_tag, i * 2, 1686 snd_hda_codec_setup_stream(codec, nids[i], stream_tag, i * 2,
1689 format); 1687 format);
1688 else /* copy front */
1689 snd_hda_codec_setup_stream(codec, nids[i], stream_tag, 0,
1690 format);
1690 } 1691 }
1691 return 0; 1692 return 0;
1692} 1693}