net: ethernet: mtk_eth_soc: fix resource leak in error path
authorYan Cangang <nalanzeyu@gmail.com>
Sun, 20 Nov 2022 05:52:58 +0000 (13:52 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 23 Nov 2022 04:16:45 +0000 (20:16 -0800)
In mtk_probe(), when mtk_ppe_init() or mtk_eth_offload_init() failed,
mtk_mdio_cleanup() isn't called. Fix it.

Fixes: ba37b7caf1ed ("net: ethernet: mtk_eth_soc: add support for initializing the PPE")
Fixes: 502e84e2382d ("net: ethernet: mtk_eth_soc: add flow offloading support")
Signed-off-by: Yan Cangang <nalanzeyu@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mediatek/mtk_eth_soc.c

index bbffd92..ae073b4 100644 (file)
@@ -4147,13 +4147,13 @@ static int mtk_probe(struct platform_device *pdev)
                                                   eth->soc->offload_version, i);
                        if (!eth->ppe[i]) {
                                err = -ENOMEM;
-                               goto err_free_dev;
+                               goto err_deinit_mdio;
                        }
                }
 
                err = mtk_eth_offload_init(eth);
                if (err)
-                       goto err_free_dev;
+                       goto err_deinit_mdio;
        }
 
        for (i = 0; i < MTK_MAX_DEVS; i++) {