summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-06-28 12:45:34 +0200
committerTakashi Iwai <tiwai@suse.de>2017-06-28 12:45:34 +0200
commit17890880bbf7bac8171054c7dca7a5162b23c5c2 (patch)
treecc1103f6e79fc2f3058c97a5050b1a68f849a035
parentALSA: hda - Fix endless loop of codec configure (diff)
downloadlinux-17890880bbf7bac8171054c7dca7a5162b23c5c2.tar.xz
linux-17890880bbf7bac8171054c7dca7a5162b23c5c2.zip
ALSA: hda - Skip card registration when no codec is found
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>
-rw-r--r--sound/pci/hda/hda_controller.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c
index 1c60beb5b70a..d1eb14842340 100644
--- a/sound/pci/hda/hda_controller.c
+++ b/sound/pci/hda/hda_controller.c
@@ -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);