diff mbox series

[-next] gpio: sim: add missing fwnode_handle_put() in gpio_sim_probe()

Message ID 20211221113825.334782-1-yangyingliang@huawei.com
State Accepted
Commit a2d05fb73493ca89b36c7d2c3ffc76effbfcd763
Headers show
Series [-next] gpio: sim: add missing fwnode_handle_put() in gpio_sim_probe() | expand

Commit Message

Yang Yingliang Dec. 21, 2021, 11:38 a.m. UTC
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>
---
 drivers/gpio/gpio-sim.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/gpio/gpio-sim.c b/drivers/gpio/gpio-sim.c
index ef6145f51c8a..520ee923b516 100644
--- a/drivers/gpio/gpio-sim.c
+++ b/drivers/gpio/gpio-sim.c
@@ -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;