ALSA: hda - Skip card registration when no codec is found
authorTakashi Iwai <tiwai@suse.de>
Wed, 28 Jun 2017 10:45:34 +0000 (12:45 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 28 Jun 2017 10:45:34 +0000 (12:45 +0200)
It's nonsense to register a card object when no codec is bound on it,
as we don't support the deferred codec binding.  Instead of
registering an empty card object, just skip the registration by
returning an error from azx_codec_configure().

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

index 1c60beb5b70a63a0ab25a828392a3cb175a4da8b..d1eb14842340e63dc20d0ad8a187cc131c3570a1 100644 (file)
@@ -1345,6 +1345,9 @@ int azx_codec_configure(struct azx *chip)
        list_for_each_codec_safe(codec, next, &chip->bus) {
                snd_hda_codec_configure(codec);
        }
+
+       if (!azx_bus(chip)->num_codecs)
+               return -ENODEV;
        return 0;
 }
 EXPORT_SYMBOL_GPL(azx_codec_configure);