Commit 88d68602 authored by Charles Chin's avatar Charles Chin Committed by Takashi Iwai

ALSA: hda - Fix S3/S4 problem on machines with VREF-pin mute-LED

The verb command in stac92xx_post_suspend caused the audio to stop
working after resuming from S3 mode on HP laptops with the VREF-pin
mute-LED control.  Removing relevant post_suspend registering.

Although removing D3 on AFG is no optimal solution, the impact should
be small in comparison with the broken S3/S4.
Signed-off-by: default avatarCharles Chin <Charles.Chin@idt.com>
Cc: <stable@kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 4f8b6c7d
...@@ -5057,20 +5057,6 @@ static int stac92xx_pre_resume(struct hda_codec *codec) ...@@ -5057,20 +5057,6 @@ static int stac92xx_pre_resume(struct hda_codec *codec)
return 0; return 0;
} }
static int stac92xx_post_suspend(struct hda_codec *codec)
{
struct sigmatel_spec *spec = codec->spec;
if (spec->gpio_led > 8) {
/* with vref-out pin used for mute led control
* codec AFG is prevented from D3 state, but on
* system suspend it can (and should) be used
*/
snd_hda_codec_read(codec, codec->afg, 0,
AC_VERB_SET_POWER_STATE, AC_PWRST_D3);
}
return 0;
}
static void stac92xx_set_power_state(struct hda_codec *codec, hda_nid_t fg, static void stac92xx_set_power_state(struct hda_codec *codec, hda_nid_t fg,
unsigned int power_state) unsigned int power_state)
{ {
...@@ -5670,8 +5656,6 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) ...@@ -5670,8 +5656,6 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
} else { } else {
codec->patch_ops.set_power_state = codec->patch_ops.set_power_state =
stac92xx_set_power_state; stac92xx_set_power_state;
codec->patch_ops.post_suspend =
stac92xx_post_suspend;
} }
codec->patch_ops.pre_resume = stac92xx_pre_resume; codec->patch_ops.pre_resume = stac92xx_pre_resume;
codec->patch_ops.check_power_status = codec->patch_ops.check_power_status =
...@@ -5985,8 +5969,6 @@ static int patch_stac92hd71bxx(struct hda_codec *codec) ...@@ -5985,8 +5969,6 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
} else { } else {
codec->patch_ops.set_power_state = codec->patch_ops.set_power_state =
stac92xx_set_power_state; stac92xx_set_power_state;
codec->patch_ops.post_suspend =
stac92xx_post_suspend;
} }
codec->patch_ops.pre_resume = stac92xx_pre_resume; codec->patch_ops.pre_resume = stac92xx_pre_resume;
codec->patch_ops.check_power_status = codec->patch_ops.check_power_status =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment