summaryrefslogtreecommitdiffstats
path: root/sound/core/sound.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-04-22 22:29:10 +0200
committerTakashi Iwai <tiwai@suse.de>2015-04-24 17:31:06 +0200
commitb591b6e9e99017137888e2e397f0ddd8adb77c5d (patch)
tree5ef26ea5c88a94d2f942f933ffe7bbaa7349e102 /sound/core/sound.c
parentALSA: core: Remove superfluous exit calls for proc entries (diff)
downloadlinux-b591b6e9e99017137888e2e397f0ddd8adb77c5d.tar.xz
linux-b591b6e9e99017137888e2e397f0ddd8adb77c5d.zip
ALSA: core: Don't ignore errors at creating proc files
So far we've ignored the errors at creating proc files in many places. But they should be rather treated seriously. Also, by assuring the error handling, we can get rid of superfluous snd_info_free_entry() calls as they will be removed by the parent in the caller side. This patch fixes the missing error checks and reduces the superfluous free calls. Acked-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/sound.c')
-rw-r--r--sound/core/sound.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/sound/core/sound.c b/sound/core/sound.c
index d584944c8fe5..8fc402e4ff35 100644
--- a/sound/core/sound.c
+++ b/sound/core/sound.c
@@ -386,14 +386,10 @@ int __init snd_minor_info_init(void)
struct snd_info_entry *entry;
entry = snd_info_create_module_entry(THIS_MODULE, "devices", NULL);
- if (entry) {
- entry->c.text.read = snd_minor_info_read;
- if (snd_info_register(entry) < 0) {
- snd_info_free_entry(entry);
- entry = NULL;
- }
- }
- return 0;
+ if (!entry)
+ return -ENOMEM;
+ entry->c.text.read = snd_minor_info_read;
+ return snd_info_register(entry); /* freed in error path */
}
#endif /* CONFIG_PROC_FS */