mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
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: dad3197da7 ("ALSA: hda/realtek - Fixup headphone noise via runtime suspend")
Reported-and-tested-by: Oleg Gorobets <oleg.goro@gmail.com>
Link: https://patch.msgid.link/20250315143020.27184-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
de69d56daa
commit
5a0c72c1da
|
|
@ -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,8 +604,7 @@ 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);
|
||||
snd_hda_shutup_pins(codec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user