HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
authorJing Xiangfeng <jingxiangfeng@huawei.com>
Mon, 12 Oct 2020 02:56:43 +0000 (10:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:53:24 +0000 (11:53 +0100)
[ Upstream commit 41fff6e19bc8d6d8bca79ea388427c426e72e097 ]

In current code, it jumps to ida_simple_remove() when ida_simple_get()
failes to allocate an ID. Just return to fix it.

Fixes: 0fae198988b8 ("HSI: omap_ssi: built omap_ssi and omap_ssi_port into one module")
Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hsi/controllers/omap_ssi_core.c

index fa69b94..7596dc1 100644 (file)
@@ -355,7 +355,7 @@ static int ssi_add_controller(struct hsi_controller *ssi,
 
        err = ida_simple_get(&platform_omap_ssi_ida, 0, 0, GFP_KERNEL);
        if (err < 0)
-               goto out_err;
+               return err;
        ssi->id = err;
 
        ssi->owner = THIS_MODULE;