Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c99c1994 authored by Akinobu Mita's avatar Akinobu Mita Committed by Arnd Bergmann
Browse files

[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: default avatarAkinobu Mita <mita@fixstars.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
parent 577f8f10
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -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: