summaryrefslogtreecommitdiff
path: root/sound/pci/hda/hda_generic.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-01-03 16:30:04 +0100
committerTakashi Iwai <tiwai@suse.de>2013-01-12 08:43:26 +0100
commit985803ca91c3039afd15a2fd32a9ef5771652cee (patch)
tree4db77415b083e71e44019a74959226c748c0705d /sound/pci/hda/hda_generic.c
parent2e03e9528d1cc15edf037c8e2ee0ae6499b0e59d (diff)
downloadlwn-985803ca91c3039afd15a2fd32a9ef5771652cee.tar.gz
lwn-985803ca91c3039afd15a2fd32a9ef5771652cee.zip
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: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_generic.c')
-rw-r--r--sound/pci/hda/hda_generic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 6ff4a0db74e9..9228175f0806 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -463,7 +463,7 @@ static void activate_amp(struct hda_codec *codec, hda_nid_t nid, int dir,
{
int val;
if (is_ctl_associated(codec, nid, dir, idx) ||
- is_active_nid(codec, nid, dir, idx))
+ (!enable && is_active_nid(codec, nid, dir, idx)))
return;
val = get_amp_val_to_activate(codec, nid, dir, enable);
snd_hda_codec_amp_stereo(codec, nid, dir, idx, 0xff, val);