ALSA: hda - Make sure fill_all_dac_nids is called for digital only codecs
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>
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 171364a..73900d9 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -1516,8 +1516,6 @@
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 @@
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;