Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −18
Original line number Diff line number Diff line
@@ -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 =