Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5855fb80 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda - Fix initialization of secondary headphone and speaker



The secondary or later headphones or speakers aren't initialized preoprly
for some codecs.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 3b119f66
Loading
Loading
Loading
Loading
+9 −4
Original line number Original line Diff line number Diff line
@@ -10634,16 +10634,21 @@ static void alc882_auto_init_hp_out(struct hda_codec *codec)
{
{
	struct alc_spec *spec = codec->spec;
	struct alc_spec *spec = codec->spec;
	hda_nid_t pin, dac;
	hda_nid_t pin, dac;
	int i;
	pin = spec->autocfg.hp_pins[0];
	for (i = 0; i < ARRAY_SIZE(spec->autocfg.hp_pins); i++) {
	if (pin) {
		pin = spec->autocfg.hp_pins[i];
		if (!pin)
			break;
		dac = spec->multiout.hp_nid;
		dac = spec->multiout.hp_nid;
		if (!dac)
		if (!dac)
			dac = spec->multiout.dac_nids[0]; /* to front */
			dac = spec->multiout.dac_nids[0]; /* to front */
		alc882_auto_set_output_and_unmute(codec, pin, PIN_HP, dac);
		alc882_auto_set_output_and_unmute(codec, pin, PIN_HP, dac);
	}
	}
	pin = spec->autocfg.speaker_pins[0];
	for (i = 0; i < ARRAY_SIZE(spec->autocfg.speaker_pins); i++) {
	if (pin) {
		pin = spec->autocfg.speaker_pins[i];
		if (!pin)
			break;
		dac = spec->multiout.extra_out_nid[0];
		dac = spec->multiout.extra_out_nid[0];
		if (!dac)
		if (!dac)
			dac = spec->multiout.dac_nids[0]; /* to front */
			dac = spec->multiout.dac_nids[0]; /* to front */