summaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2020-06-24 18:03:00 +0200
committerTakashi Iwai <tiwai@suse.de>2020-06-25 15:01:35 +0200
commit81033c6b584b44514cbb16fffc26ca29a0fa6270 (patch)
treefd63e03ce87c140e5479087c799063834e4a818a /sound/core
parentc7440acc859778eed74b223fc41f094133aeaaf0 (diff)
downloadlinux-81033c6b584b44514cbb16fffc26ca29a0fa6270.tar.gz
linux-81033c6b584b44514cbb16fffc26ca29a0fa6270.tar.xz
ALSA: core: Warn on empty module
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>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/core/init.c b/sound/core/init.c
index b02a99766351..0478847ba2b8 100644
--- a/sound/core/init.c
+++ b/sound/core/init.c
@@ -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);