From 8c8308eb94c655e53c62438b50b887e115dced4e Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 23 Aug 2011 15:16:22 +0200 Subject: [PATCH] --- yaml --- r: 270352 b: refs/heads/master c: 8cd0775da2e884cf01f0649402dd725224b308bf h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/pci/hda/patch_realtek.c | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 9185f8753c13..f6ab9cc6a0ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5fa9b1511216282e27e048defae78c0f44c148d1 +refs/heads/master: 8cd0775da2e884cf01f0649402dd725224b308bf diff --git a/trunk/sound/pci/hda/patch_realtek.c b/trunk/sound/pci/hda/patch_realtek.c index c3e5af955620..f79a6d1cf524 100644 --- a/trunk/sound/pci/hda/patch_realtek.c +++ b/trunk/sound/pci/hda/patch_realtek.c @@ -3223,6 +3223,7 @@ static void alc_auto_init_multi_out(struct hda_codec *codec) static void alc_auto_init_extra_out(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; + int i; hda_nid_t pin, dac; pin = spec->autocfg.hp_pins[0]; @@ -3232,11 +3233,17 @@ static void alc_auto_init_extra_out(struct hda_codec *codec) dac = spec->multiout.dac_nids[0]; alc_auto_set_output_and_unmute(codec, pin, PIN_HP, dac); } - pin = spec->autocfg.speaker_pins[0]; - if (pin) { - dac = spec->multiout.extra_out_nid[0]; - if (!dac) - dac = spec->multiout.dac_nids[0]; + for (i = 0; i < spec->autocfg.speaker_outs; i++) { + pin = spec->autocfg.speaker_pins[i]; + if (!pin) + break; + dac = spec->multiout.extra_out_nid[i]; + if (!dac) { + if (i > 0 && spec->multiout.extra_out_nid[0]) + dac = spec->multiout.extra_out_nid[0]; + else + dac = spec->multiout.dac_nids[0]; + } alc_auto_set_output_and_unmute(codec, pin, PIN_OUT, dac); } }