diff options
author | Takashi Iwai <tiwai@suse.de> | 2020-06-24 18:03:00 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2020-06-25 15:01:35 +0200 |
commit | 81033c6b584b44514cbb16fffc26ca29a0fa6270 (patch) | |
tree | fd63e03ce87c140e5479087c799063834e4a818a /sound/core/init.c | |
parent | c7440acc859778eed74b223fc41f094133aeaaf0 (diff) | |
download | linux-81033c6b584b44514cbb16fffc26ca29a0fa6270.tar.bz2 |
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/init.c')
-rw-r--r-- | sound/core/init.c | 3 |
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); |