Commit 985803ca authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Don't skip amp init for activated paths

activate_amp() in the generic parser checks whether the given NID is
included in any active paths and skips it if found.  This was a
workaround for avoiding disabling the widgets in the active paths when
one path is disabled, thus it shouldn't be applied to the case for
path activation.  Due to this wrong check, some analog loopback paths
haven't been initialized correctly.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 2e03e952
...@@ -463,7 +463,7 @@ static void activate_amp(struct hda_codec *codec, hda_nid_t nid, int dir, ...@@ -463,7 +463,7 @@ static void activate_amp(struct hda_codec *codec, hda_nid_t nid, int dir,
{ {
int val; int val;
if (is_ctl_associated(codec, nid, dir, idx) || if (is_ctl_associated(codec, nid, dir, idx) ||
is_active_nid(codec, nid, dir, idx)) (!enable && is_active_nid(codec, nid, dir, idx)))
return; return;
val = get_amp_val_to_activate(codec, nid, dir, enable); val = get_amp_val_to_activate(codec, nid, dir, enable);
snd_hda_codec_amp_stereo(codec, nid, dir, idx, 0xff, val); snd_hda_codec_amp_stereo(codec, nid, dir, idx, 0xff, val);
......
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