Commit 5a0c72c1 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda/realtek: Always honor no_shutup_pins



The workaround for Dell machines to skip the pin-shutup for mic pins
introduced alc_headset_mic_no_shutup() that is replaced from the
generic snd_hda_shutup_pins() for certain codecs.  The problem is that
the call is done unconditionally even if spec->no_shutup_pins is set.
This seems causing problems on other platforms like Lenovo.

This patch corrects the behavior and the driver honors always
spec->no_shutup_pins flag and skips alc_headset_mic_no_shutup() if
it's set.

Fixes: dad3197d ("ALSA: hda/realtek - Fixup headphone noise via runtime suspend")
Reported-and-tested-by: default avatarOleg Gorobets <oleg.goro@gmail.com>
Link: https://patch.msgid.link/20250315143020.27184-1-tiwai@suse.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent de69d56d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -586,6 +586,9 @@ static void alc_shutup_pins(struct hda_codec *codec)
{
	struct alc_spec *spec = codec->spec;

	if (spec->no_shutup_pins)
		return;

	switch (codec->core.vendor_id) {
	case 0x10ec0236:
	case 0x10ec0256:
@@ -601,7 +604,6 @@ static void alc_shutup_pins(struct hda_codec *codec)
		alc_headset_mic_no_shutup(codec);
		break;
	default:
		if (!spec->no_shutup_pins)
		snd_hda_shutup_pins(codec);
		break;
	}