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>
This commit is contained in:
@@ -853,18 +853,16 @@ int __init snd_card_info_init(void)
|
||||
if (! entry)
|
||||
return -ENOMEM;
|
||||
entry->c.text.read = snd_card_info_read;
|
||||
if (snd_info_register(entry) < 0) {
|
||||
snd_info_free_entry(entry);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (snd_info_register(entry) < 0)
|
||||
return -ENOMEM; /* freed in error path */
|
||||
|
||||
#ifdef MODULE
|
||||
entry = snd_info_create_module_entry(THIS_MODULE, "modules", NULL);
|
||||
if (entry) {
|
||||
entry->c.text.read = snd_card_module_info_read;
|
||||
if (snd_info_register(entry) < 0)
|
||||
snd_info_free_entry(entry);
|
||||
}
|
||||
if (!entry)
|
||||
return -ENOMEM;
|
||||
entry->c.text.read = snd_card_module_info_read;
|
||||
if (snd_info_register(entry) < 0)
|
||||
return -ENOMEM; /* freed in error path */
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user