summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Ranostay <mranostay@embeddedalley.com>2008-12-20 17:36:28 -0500
committerTakashi Iwai <tiwai@suse.de>2008-12-20 23:48:44 +0100
commitf8ccbf65afde5df81a6238b9dc92868fbbd397f7 (patch)
tree1f8749dbc837980c46e105ddb510de9d69bfd3c1
parent8326e32c1e148820d50dc460e1cb4a6cb6884ff2 (diff)
downloadop-kernel-dev-f8ccbf65afde5df81a6238b9dc92868fbbd397f7.zip
op-kernel-dev-f8ccbf65afde5df81a6238b9dc92868fbbd397f7.tar.gz
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 e2941cd..7ee4d4d 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;
OpenPOWER on IntegriCloud