]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
misc: ti_fpc202: fix a potential memory leak in probe function
authorFelix Gu <gu_0233@qq.com>
Fri, 26 Dec 2025 10:22:43 +0000 (18:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Dec 2025 10:59:06 +0000 (11:59 +0100)
Use for_each_child_of_node_scoped() to simplify the code and ensure the
device node reference is automatically released when the loop scope
ends.

Signed-off-by: Felix Gu <gu_0233@qq.com>
Reviewed-by: Romain Gantois <romain.gantois@bootlin.com>
Link: https://patch.msgid.link/tencent_FA1AC670F5CF49873F88A44424F866994A08@qq.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/ti_fpc202.c

index 7964e46c7448290f40cf8603edd43eb51d036510..8eb2b5ac9850627dc97aefb62cee5e75cc0fdc9a 100644 (file)
@@ -309,7 +309,6 @@ static void fpc202_remove_port(struct fpc202_priv *priv, int port_id)
 static int fpc202_probe(struct i2c_client *client)
 {
        struct device *dev = &client->dev;
-       struct device_node *i2c_handle;
        struct fpc202_priv *priv;
        int ret, port_id;
 
@@ -357,7 +356,7 @@ static int fpc202_probe(struct i2c_client *client)
 
        bitmap_zero(priv->probed_ports, FPC202_NUM_PORTS);
 
-       for_each_child_of_node(dev->of_node, i2c_handle) {
+       for_each_child_of_node_scoped(dev->of_node, i2c_handle) {
                ret = of_property_read_u32(i2c_handle, "reg", &port_id);
                if (ret) {
                        if (ret == -EINVAL)