diff options
author | Lu Wei <luwei32@huawei.com> | 2020-11-26 05:43:11 +0300 |
---|---|---|
committer | Rich Felker <dalias@libc.org> | 2021-09-17 21:00:09 +0300 |
commit | bde82ee391fa6d3ad054313c4aa7b726d32515ce (patch) | |
tree | 0bb1033b26a822d530464e6258bc69bbae343313 /drivers/sh/maple | |
parent | 7fe859eef99b6fac655416d5bb01c82bd0da2ada (diff) | |
download | linux-bde82ee391fa6d3ad054313c4aa7b726d32515ce.tar.xz |
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: 17be2d2b1c33 ("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>
Diffstat (limited to 'drivers/sh/maple')
-rw-r--r-- | drivers/sh/maple/maple.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/sh/maple/maple.c b/drivers/sh/maple/maple.c index bd0fbcdbdefe..e24e220e56ee 100644 --- a/drivers/sh/maple/maple.c +++ b/drivers/sh/maple/maple.c @@ -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]; |