Skip to content

Commit 5a6f294

Browse files
committed
ALSA: hda/via - Fix wrongly cleared pins after suspend on VT1802
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 <[email protected]> Cc: <[email protected]> [v3.9] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 05909d5 commit 5a6f294

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

sound/pci/hda/patch_via.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,9 @@ static int via_suspend(struct hda_codec *codec)
484484
/* Fix pop noise on headphones */
485485
int i;
486486
for (i = 0; i < spec->gen.autocfg.hp_outs; i++)
487-
snd_hda_set_pin_ctl(codec, spec->gen.autocfg.hp_pins[i], 0);
487+
snd_hda_codec_write(codec, spec->gen.autocfg.hp_pins[i],
488+
0, AC_VERB_SET_PIN_WIDGET_CONTROL,
489+
0x00);
488490
}
489491

490492
return 0;

0 commit comments

Comments
 (0)