ALSA: core: Warn on empty module
authorTakashi Iwai <tiwai@suse.de>
Wed, 24 Jun 2020 16:03:00 +0000 (18:03 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 25 Jun 2020 13:01:35 +0000 (15:01 +0200)
The module argument passed to snd_card_new() must be a valid non-NULL
pointer when the module support is enabled.  Since ASoC driver passes
the argument from each snd_soc_card definition, one may forget to set
the owner field and lead to a NULL module easily.

For catching such an overlook, add a WARN_ON() in snd_card_new().
Also, put the card->module assignment in the ifdef block for a very
minor optimization.

Link: https://lore.kernel.org/r/20200624160300.21703-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/init.c

index b02a997..0478847 100644 (file)
@@ -203,7 +203,10 @@ int snd_card_new(struct device *parent, int idx, const char *xid,
        mutex_unlock(&snd_card_mutex);
        card->dev = parent;
        card->number = idx;
+#ifdef MODULE
+       WARN_ON(!module);
        card->module = module;
+#endif
        INIT_LIST_HEAD(&card->devices);
        init_rwsem(&card->controls_rwsem);
        rwlock_init(&card->ctl_files_rwlock);