ALSA: hda - Make sure fill_all_dac_nids is called for digital only codecs
authorDavid Henningsson <david.henningsson@canonical.com>
Wed, 16 Jan 2013 14:58:45 +0000 (15:58 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 16 Jan 2013 15:24:42 +0000 (16:24 +0100)
Otherwise no PCM will be built for codecs without analog I/O.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_generic.c

index 171364a9dda41c40cb17aff1e8df507287ef251b..73900d935681c23e6dc4d7f2d236fb188b788760 100644 (file)
@@ -1516,8 +1516,6 @@ static int parse_output_paths(struct hda_codec *codec)
        bool best_wired = true, best_mio = true;
        bool hp_spk_swapped = false;
 
-       fill_all_dac_nids(codec);
-
        best_cfg = kmalloc(sizeof(*best_cfg), GFP_KERNEL);
        if (!best_cfg)
                return -ENOMEM;
@@ -3428,6 +3426,8 @@ int snd_hda_gen_parse_auto_config(struct hda_codec *codec,
                cfg = &spec->autocfg;
        }
 
+       fill_all_dac_nids(codec);
+
        if (!cfg->line_outs) {
                if (cfg->dig_outs || cfg->dig_in_pin) {
                        spec->multiout.max_channels = 2;