gpio: dwapb: add missing fwnode_handle_put() in dwapb_gpio_get_pdata()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Sun, 10 Jul 2016 02:17:36 +0000 (02:17 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 22 Jul 2016 13:30:42 +0000 (15:30 +0200)
fwnode_handle_put() should be used when terminating
device_for_each_child_node() iteration with break or
return to prevent stale device node references from
being left behind.

Generated by Coccinelle.

Fixes: 4ba8cfa79f44 ("gpio: dwapb: convert device node to fwnode")
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-dwapb.c

index 34779bb375de8871dd27ac57dc13fcf9f415623c..6193f62c0df494f91ea74295adb59ab7a0756455 100644 (file)
@@ -486,6 +486,7 @@ dwapb_gpio_get_pdata(struct device *dev)
                    pp->idx >= DWAPB_MAX_PORTS) {
                        dev_err(dev,
                                "missing/invalid port index for port%d\n", i);
+                       fwnode_handle_put(fwnode);
                        return ERR_PTR(-EINVAL);
                }