Skip to content

Commit

Permalink
ALSA: hda - Fix initialization of multi-speaker output paths for Realtek
Browse files Browse the repository at this point in the history
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Takashi Iwai committed Aug 23, 2011
1 parent 5fa9b15 commit 8cd0775
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions sound/pci/hda/patch_realtek.c
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand All @@ -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);
}
}
Expand Down

0 comments on commit 8cd0775

Please sign in to comment.