maple: fix wrong return value of maple_bus_init().
[ Upstream commit bde82ee391fa6d3ad054313c4aa7b726d32515ce ]
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: 17be2d2b1c
("sh: Add maple bus support for the SEGA Dreamcast.")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Lu Wei <luwei32@huawei.com>
Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: Rich Felker <dalias@libc.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
8748f08a2f
commit
5d5bf899e5
@@ -835,8 +835,10 @@ static int __init maple_bus_init(void)
|
|||||||
|
|
||||||
maple_queue_cache = KMEM_CACHE(maple_buffer, SLAB_HWCACHE_ALIGN);
|
maple_queue_cache = KMEM_CACHE(maple_buffer, SLAB_HWCACHE_ALIGN);
|
||||||
|
|
||||||
if (!maple_queue_cache)
|
if (!maple_queue_cache) {
|
||||||
|
retval = -ENOMEM;
|
||||||
goto cleanup_bothirqs;
|
goto cleanup_bothirqs;
|
||||||
|
}
|
||||||
|
|
||||||
INIT_LIST_HEAD(&maple_waitq);
|
INIT_LIST_HEAD(&maple_waitq);
|
||||||
INIT_LIST_HEAD(&maple_sentq);
|
INIT_LIST_HEAD(&maple_sentq);
|
||||||
@@ -849,6 +851,7 @@ static int __init maple_bus_init(void)
|
|||||||
if (!mdev[i]) {
|
if (!mdev[i]) {
|
||||||
while (i-- > 0)
|
while (i-- > 0)
|
||||||
maple_free_dev(mdev[i]);
|
maple_free_dev(mdev[i]);
|
||||||
|
retval = -ENOMEM;
|
||||||
goto cleanup_cache;
|
goto cleanup_cache;
|
||||||
}
|
}
|
||||||
baseunits[i] = mdev[i];
|
baseunits[i] = mdev[i];
|
||||||
|
Reference in New Issue
Block a user