clk: rockchip: handle of_iomap failures in legacy clock driver
authorArvind Yadav <arvind.yadav.cs@gmail.com>
Sat, 13 Aug 2016 15:26:18 +0000 (20:56 +0530)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 23 Aug 2016 16:00:25 +0000 (18:00 +0200)
Check return value of of_iomap and handle errors correctly.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
drivers/clk/rockchip/clk-rockchip.c

index 4cf838d..2c9bb81 100644 (file)
@@ -49,14 +49,19 @@ static void __init rk2928_gate_clk_init(struct device_node *node)
        }
 
        reg = of_iomap(node, 0);
+       if (!reg)
+               return;
 
        clk_data = kzalloc(sizeof(struct clk_onecell_data), GFP_KERNEL);
-       if (!clk_data)
+       if (!clk_data) {
+               iounmap(reg);
                return;
+       }
 
        clk_data->clks = kzalloc(qty * sizeof(struct clk *), GFP_KERNEL);
        if (!clk_data->clks) {
                kfree(clk_data);
+               iounmap(reg);
                return;
        }