ALSA: hda - Fix NULL dereference in kctl-NID mapping in patch_realtek.c
authorTakashi Iwai <tiwai@suse.de>
Thu, 17 Dec 2009 14:01:31 +0000 (15:01 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 17 Dec 2009 14:01:31 +0000 (15:01 +0100)
capsrc_nids can be NULL, and adc_nids should be taken as fallback.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index 36556b1..0124352 100644 (file)
@@ -2517,7 +2517,10 @@ static int alc_build_controls(struct hda_codec *codec)
        if (!kctl)
                kctl = snd_hda_find_mixer_ctl(codec, "Input Source");
        for (i = 0; kctl && i < kctl->count; i++) {
-               err = snd_hda_add_nids(codec, kctl, i, spec->capsrc_nids,
+               hda_nid_t *nids = spec->capsrc_nids;
+               if (!nids)
+                       nids = spec->adc_nids;
+               err = snd_hda_add_nids(codec, kctl, i, nids,
                                       spec->input_mux->num_items);
                if (err < 0)
                        return err;