summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Ranostay <mranostay@embeddedalley.com>2008-12-21 01:36:28 +0300
committerTakashi Iwai <tiwai@suse.de>2008-12-21 01:48:44 +0300
commitf8ccbf65afde5df81a6238b9dc92868fbbd397f7 (patch)
tree1f8749dbc837980c46e105ddb510de9d69bfd3c1
parent8326e32c1e148820d50dc460e1cb4a6cb6884ff2 (diff)
downloadlinux-f8ccbf65afde5df81a6238b9dc92868fbbd397f7.tar.xz
ALSA: hda: dinput_mux check
Add check to determine if dinput_mux is set by any of patch_stac*() functions, otherwise a invalid pointer my be referenced causing gibberish to mixer values. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_sigmatel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index e2941cd8aeea..7ee4d4df8932 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -3589,7 +3589,8 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out
spec->mixers[spec->num_mixers++] = spec->kctls.list;
spec->input_mux = &spec->private_imux;
- spec->dinput_mux = &spec->private_dimux;
+ if (!spec->dinput_mux)
+ spec->dinput_mux = &spec->private_dimux;
spec->sinput_mux = &spec->private_smux;
spec->mono_mux = &spec->private_mono_mux;
spec->amp_mux = &spec->private_amp_mux;