diff options
author | Matthew Ranostay <mranostay@embeddedalley.com> | 2008-12-20 17:36:28 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-12-20 23:48:44 +0100 |
commit | f8ccbf65afde5df81a6238b9dc92868fbbd397f7 (patch) | |
tree | 1f8749dbc837980c46e105ddb510de9d69bfd3c1 /sound | |
parent | 8326e32c1e148820d50dc460e1cb4a6cb6884ff2 (diff) | |
download | op-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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 3 |
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; |