clk: s2mps11: Fix possible NULL pointer dereference
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Fri, 21 Mar 2014 12:18:17 +0000 (13:18 +0100)
committerJiri Slaby <jslaby@suse.cz>
Thu, 15 May 2014 07:55:41 +0000 (09:55 +0200)
commit 238e14055da87d0d012257788e39fe0df3a82226 upstream.

If parent device does not have of_node set the s2mps11_clk_parse_dt()
returned NULL. This NULL was later passed to of_clk_add_provider() which
dereferenced it in pr_debug() call.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/clk/clk-s2mps11.c

index 7be41e676a6470ab02b0bfd52867f54561a7960d..aa21299ec7d26435413ea1535ec7e9d17f5866e0 100644 (file)
@@ -130,7 +130,7 @@ static struct device_node *s2mps11_clk_parse_dt(struct platform_device *pdev)
        int i;
 
        if (!iodev->dev->of_node)
-               return NULL;
+               return ERR_PTR(-EINVAL);
 
        clk_np = of_find_node_by_name(iodev->dev->of_node, "clocks");
        if (!clk_np) {