Skip to content

Commit

Permalink
maple: fix wrong return value of maple_bus_init().
Browse files Browse the repository at this point in the history
[ 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: 17be2d2 ("sh: Add maple bus support for the SEGA Dreamcast.")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Lu Wei <[email protected]>
Acked-by: John Paul Adrian Glaubitz <[email protected]>
Signed-off-by: Rich Felker <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
  • Loading branch information
Lu Wei authored and gregkh committed Nov 26, 2021
1 parent 88d87e0 commit ffd4333
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/sh/maple/maple.c
Original file line number Diff line number Diff line change
Expand Up @@ -835,8 +835,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);
Expand All @@ -849,6 +851,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];
Expand Down

0 comments on commit ffd4333

Please sign in to comment.