OSDN Git Service

gpio: sim: add missing fwnode_handle_put() in gpio_sim_probe()
authorYang Yingliang <yangyingliang@huawei.com>
Tue, 21 Dec 2021 11:38:25 +0000 (19:38 +0800)
committerBartosz Golaszewski <brgl@bgdev.pl>
Tue, 21 Dec 2021 15:19:14 +0000 (16:19 +0100)
Calling fwnode_handle_put() when break out of device_for_each_child_node(),
or the device node reference will be leakd.

Fixes: 83960fcf4818 ("gpio: sim: new testing module")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpio-sim.c

index bef00dc..838bbfe 100644 (file)
@@ -444,8 +444,10 @@ static int gpio_sim_probe(struct platform_device *pdev)
 
        device_for_each_child_node(dev, swnode) {
                ret = gpio_sim_add_bank(swnode, dev);
-               if (ret)
+               if (ret) {
+                       fwnode_handle_put(swnode);
                        return ret;
+               }
        }
 
        return 0;