usb: typec: anx7411: Use of_get_child_by_name() instead of of_find_node_by_name()
authorLiang He <windhl@126.com>
Thu, 15 Sep 2022 09:22:09 +0000 (17:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Sep 2022 13:52:29 +0000 (15:52 +0200)
In anx7411_typec_switch_probe(), we should call of_get_child_by_name()
instead of of_find_node_by_name() as of_find_xxx API will decrease the
refcount of the 'from' argument.

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Liang He <windhl@126.com>
Link: https://lore.kernel.org/r/20220915092209.4009273-1-windhl@126.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/anx7411.c

index c0f0842..f178d0e 100644 (file)
@@ -1105,7 +1105,7 @@ static int anx7411_typec_switch_probe(struct anx7411_data *ctx,
        int ret;
        struct device_node *node;
 
-       node = of_find_node_by_name(dev->of_node, "orientation_switch");
+       node = of_get_child_by_name(dev->of_node, "orientation_switch");
        if (!node)
                return 0;
 
@@ -1115,7 +1115,7 @@ static int anx7411_typec_switch_probe(struct anx7411_data *ctx,
                return ret;
        }
 
-       node = of_find_node_by_name(dev->of_node, "mode_switch");
+       node = of_get_child_by_name(dev->of_node, "mode_switch");
        if (!node) {
                dev_err(dev, "no typec mux exist");
                ret = -ENODEV;