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: Charles Chin <Charles.Chin@idt.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
4f8b6c7dc8
commit
88d686027b
@ -5057,20 +5057,6 @@ static int stac92xx_pre_resume(struct hda_codec *codec)
|
||||
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,
|
||||
unsigned int power_state)
|
||||
{
|
||||
@ -5670,8 +5656,6 @@ again:
|
||||
} else {
|
||||
codec->patch_ops.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.check_power_status =
|
||||
@ -5985,8 +5969,6 @@ again:
|
||||
} else {
|
||||
codec->patch_ops.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.check_power_status =
|
||||
|
Loading…
Reference in New Issue
Block a user