mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-07 21:53:44 +00:00
ALSA: hda/via - Fix wrongly cleared pins after suspend on VT1802
commit 5a6f294e87
upstream.
VIA driver has a special suspend handling only for VT1802 to reduce
the pop noise. During the transition to the generic parser, the
behavior of snd_hda_set_pin_ctl() was also changed to modify the
cached values, too. And this caused a regression where the pin is
still cleared even after the resume (including the resume from power
save), resulting in the silent output.
The fix is simply to replace snd_hda_set_pin_ctl() with the explicit
call of snd_hda_codec_write() again.
Reported-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ab327c178e
commit
fae0b025ae
@ -483,7 +483,9 @@ static int via_suspend(struct hda_codec *codec)
|
||||
/* Fix pop noise on headphones */
|
||||
int i;
|
||||
for (i = 0; i < spec->gen.autocfg.hp_outs; i++)
|
||||
snd_hda_set_pin_ctl(codec, spec->gen.autocfg.hp_pins[i], 0);
|
||||
snd_hda_codec_write(codec, spec->gen.autocfg.hp_pins[i],
|
||||
0, AC_VERB_SET_PIN_WIDGET_CONTROL,
|
||||
0x00);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user