Commit a4e09aa3 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Fix click noises at suspend/free with Realtek codecs

Call snd_hda_shutup_pins() at suspend and free for avoiding click noises.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 92ee6162
...@@ -3693,6 +3693,11 @@ static int alc_build_pcms(struct hda_codec *codec) ...@@ -3693,6 +3693,11 @@ static int alc_build_pcms(struct hda_codec *codec)
return 0; return 0;
} }
static inline void alc_shutup(struct hda_codec *codec)
{
snd_hda_shutup_pins(codec);
}
static void alc_free_kctls(struct hda_codec *codec) static void alc_free_kctls(struct hda_codec *codec)
{ {
struct alc_spec *spec = codec->spec; struct alc_spec *spec = codec->spec;
...@@ -3713,6 +3718,7 @@ static void alc_free(struct hda_codec *codec) ...@@ -3713,6 +3718,7 @@ static void alc_free(struct hda_codec *codec)
if (!spec) if (!spec)
return; return;
alc_shutup(codec);
alc_free_kctls(codec); alc_free_kctls(codec);
kfree(spec); kfree(spec);
snd_hda_detach_beep_device(codec); snd_hda_detach_beep_device(codec);
...@@ -3722,6 +3728,7 @@ static void alc_free(struct hda_codec *codec) ...@@ -3722,6 +3728,7 @@ static void alc_free(struct hda_codec *codec)
static int alc_suspend(struct hda_codec *codec, pm_message_t state) static int alc_suspend(struct hda_codec *codec, pm_message_t state)
{ {
struct alc_spec *spec = codec->spec; struct alc_spec *spec = codec->spec;
alc_shutup(codec);
if (spec && spec->power_hook) if (spec && spec->power_hook)
spec->power_hook(codec, 0); spec->power_hook(codec, 0);
return 0; return 0;
......
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