|
@@ -3596,8 +3596,12 @@ static void alc269_fixup_mic_mute_hook(void *private_data, int enabled)
|
|
|
pinval = snd_hda_codec_get_pin_target(codec, spec->mute_led_nid);
|
|
|
pinval &= ~AC_PINCTL_VREFEN;
|
|
|
pinval |= enabled ? AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_80;
|
|
|
- if (spec->mute_led_nid)
|
|
|
+ if (spec->mute_led_nid) {
|
|
|
+ /* temporarily power up/down for setting VREF */
|
|
|
+ snd_hda_power_up_pm(codec);
|
|
|
snd_hda_set_pin_ctl_cache(codec, spec->mute_led_nid, pinval);
|
|
|
+ snd_hda_power_down_pm(codec);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* Make sure the led works even in runtime suspend */
|