net: ti: icssg-prueth: Fix error cleanup on failing pruss_request_mem_region
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 10 Nov 2023 16:13:08 +0000 (17:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:50 +0000 (17:19 +0000)
[ Upstream commit 2bd5b559a1f391f05927bbb0b31381fa71c61e26 ]

We were just continuing in this case, surely not desired.

Fixes: 128d5874c082 ("net: ti: icssg-prueth: Add ICSSG ethernet driver")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/ti/icssg/icssg_prueth.c

index 71d3001..c09ecb3 100644 (file)
@@ -2050,7 +2050,7 @@ static int prueth_probe(struct platform_device *pdev)
                                       &prueth->shram);
        if (ret) {
                dev_err(dev, "unable to get PRUSS SHRD RAM2: %d\n", ret);
-               pruss_put(prueth->pruss);
+               goto put_pruss;
        }
 
        prueth->sram_pool = of_gen_pool_get(np, "sram", 0);
@@ -2195,6 +2195,8 @@ free_pool:
 
 put_mem:
        pruss_release_mem_region(prueth->pruss, &prueth->shram);
+
+put_pruss:
        pruss_put(prueth->pruss);
 
 put_cores: