Commit bde82ee3 authored by Lu Wei's avatar Lu Wei Committed by Rich Felker
Browse files

maple: fix wrong return value of maple_bus_init().



If KMEM_CACHE or maple_alloc_dev failed, the maple_bus_init() will return 0
rather than error, because the retval is not changed after KMEM_CACHE or
maple_alloc_dev failed.

Fixes: 17be2d2b ("sh: Add maple bus support for the SEGA Dreamcast.")
Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Signed-off-by: default avatarLu Wei <luwei32@huawei.com>
Acked-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: default avatarRich Felker <dalias@libc.org>
parent 7fe859ee
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -834,8 +834,10 @@ static int __init maple_bus_init(void)

	maple_queue_cache = KMEM_CACHE(maple_buffer, SLAB_HWCACHE_ALIGN);

	if (!maple_queue_cache)
	if (!maple_queue_cache) {
		retval = -ENOMEM;
		goto cleanup_bothirqs;
	}

	INIT_LIST_HEAD(&maple_waitq);
	INIT_LIST_HEAD(&maple_sentq);
@@ -848,6 +850,7 @@ static int __init maple_bus_init(void)
		if (!mdev[i]) {
			while (i-- > 0)
				maple_free_dev(mdev[i]);
			retval = -ENOMEM;
			goto cleanup_cache;
		}
		baseunits[i] = mdev[i];