OSDN Git Service

clk: mediatek: Fix resource leak in mtk_clk_simple_probe
authorChun-Jie Chen <chun-jie.chen@mediatek.com>
Tue, 14 Sep 2021 02:16:14 +0000 (10:16 +0800)
committerStephen Boyd <sboyd@kernel.org>
Tue, 14 Sep 2021 22:05:37 +0000 (15:05 -0700)
Release clock data when clock driver probe fail to fix
possible resource leak.

Signed-off-by: Chun-Jie Chen <chun-jie.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20210914021633.26377-6-chun-jie.chen@mediatek.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/mediatek/clk-mtk.c

index c3d385c..7489075 100644 (file)
@@ -314,7 +314,15 @@ int mtk_clk_simple_probe(struct platform_device *pdev)
 
        r = mtk_clk_register_gates(node, mcd->clks, mcd->num_clks, clk_data);
        if (r)
-               return r;
+               goto free_data;
 
-       return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+       r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+       if (r)
+               goto free_data;
+
+       return r;
+
+free_data:
+       mtk_free_clk_data(clk_data);
+       return r;
 }