diff options
author | Takashi Iwai <tiwai@suse.de> | 2018-08-01 16:37:02 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2018-08-01 22:54:36 +0200 |
commit | 00976ad5271999ba06d24319fd1031b178aff832 (patch) | |
tree | 0c88e68218eafd09b3d2b85179ab13fb199f34b6 /sound/core/seq/seq_info.c | |
parent | fc4bfd9a35f3d9cbf5ad6a20faedca71d1d9ed52 (diff) | |
download | talos-op-linux-00976ad5271999ba06d24319fd1031b178aff832.tar.gz talos-op-linux-00976ad5271999ba06d24319fd1031b178aff832.zip |
ALSA: seq: Fix leftovers at probe error path
The sequencer core module doesn't call some destructors in the error
path of the init code, which may leave some resources.
This patch mainly fix these leaks by calling the destructors
appropriately at alsa_seq_init(). Also the patch brings a few
cleanups along with it, namely:
- Expand the old "if ((err = xxx) < 0)" coding style
- Get rid of empty seq_queue_init() and its caller
- Change snd_seq_info_done() to void
Last but not least, a couple of functions lose __exit annotation since
they are called also in alsa_seq_init().
No functional changes but minor code cleanups.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/seq/seq_info.c')
-rw-r--r-- | sound/core/seq/seq_info.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/sound/core/seq/seq_info.c b/sound/core/seq/seq_info.c index 97015447b9b3..b27fedd435b6 100644 --- a/sound/core/seq/seq_info.c +++ b/sound/core/seq/seq_info.c @@ -50,7 +50,7 @@ create_info_entry(char *name, void (*read)(struct snd_info_entry *, return entry; } -static void free_info_entries(void) +void snd_seq_info_done(void) { snd_info_free_entry(queues_entry); snd_info_free_entry(clients_entry); @@ -70,12 +70,6 @@ int __init snd_seq_info_init(void) return 0; error: - free_info_entries(); + snd_seq_info_done(); return -ENOMEM; } - -int __exit snd_seq_info_done(void) -{ - free_info_entries(); - return 0; -} |