ALSA: hda/realtek - Fixed two speaker platform
authorKailang Yang <kailang@realtek.com>
Tue, 12 Sep 2023 07:31:49 +0000 (15:31 +0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 12 Sep 2023 10:38:18 +0000 (12:38 +0200)
If system has two speakers and one connect to 0x14 pin, use this
function will disable it.

Fixes: e43252db7e20 ("ALSA: hda/realtek - ALC287 I2S speaker platform support")
Signed-off-by: Kailang Yang <kailang@realtek.com>
Link: https://lore.kernel.org/r/e3f2aac3fe6a47079d728a6443358cc2@realtek.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index b7e78bf..887c1b1 100644 (file)
@@ -7073,8 +7073,10 @@ static void alc287_fixup_bind_dacs(struct hda_codec *codec,
        snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
        spec->gen.preferred_dacs = preferred_pairs;
        spec->gen.auto_mute_via_amp = 1;
-       snd_hda_codec_write_cache(codec, 0x14, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
-                           0x0); /* Make sure 0x14 was disable */
+       if (spec->gen.autocfg.speaker_pins[0] != 0x14) {
+               snd_hda_codec_write_cache(codec, 0x14, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
+                                       0x0); /* Make sure 0x14 was disable */
+       }
 }