forked from Minki/linux
[POWERPC] spufs: fix missing error handling in module_init()
spufs module_init forgot to call a few cleanup functions on error path. This patch also includes cosmetic changes in spu_sched_init() (identation fix and return error code). [modified by hch to apply ontop of the latest schedule changes] Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Akinobu Mita <mita@fixstars.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
This commit is contained in:
parent
577f8f1021
commit
c99c1994a2
@ -661,25 +661,29 @@ static int __init spufs_init(void)
|
||||
|
||||
if (!spufs_inode_cache)
|
||||
goto out;
|
||||
if (spu_sched_init() != 0) {
|
||||
kmem_cache_destroy(spufs_inode_cache);
|
||||
goto out;
|
||||
}
|
||||
ret = register_filesystem(&spufs_type);
|
||||
ret = spu_sched_init();
|
||||
if (ret)
|
||||
goto out_cache;
|
||||
ret = register_filesystem(&spufs_type);
|
||||
if (ret)
|
||||
goto out_sched;
|
||||
ret = register_spu_syscalls(&spufs_calls);
|
||||
if (ret)
|
||||
goto out_fs;
|
||||
ret = register_arch_coredump_calls(&spufs_coredump_calls);
|
||||
if (ret)
|
||||
goto out_fs;
|
||||
goto out_syscalls;
|
||||
|
||||
spufs_init_isolated_loader();
|
||||
|
||||
return 0;
|
||||
|
||||
out_syscalls:
|
||||
unregister_spu_syscalls(&spufs_calls);
|
||||
out_fs:
|
||||
unregister_filesystem(&spufs_type);
|
||||
out_sched:
|
||||
spu_sched_exit();
|
||||
out_cache:
|
||||
kmem_cache_destroy(spufs_inode_cache);
|
||||
out:
|
||||
|
Loading…
Reference in New Issue
Block a user