|
|
@@ -368,8 +368,10 @@ static int meson_probe_remote(struct platform_device *pdev,
|
|
|
remote_node = of_graph_get_remote_port_parent(ep);
|
|
|
if (!remote_node ||
|
|
|
remote_node == parent || /* Ignore parent endpoint */
|
|
|
- !of_device_is_available(remote_node))
|
|
|
+ !of_device_is_available(remote_node)) {
|
|
|
+ of_node_put(remote_node);
|
|
|
continue;
|
|
|
+ }
|
|
|
|
|
|
count += meson_probe_remote(pdev, match, remote, remote_node);
|
|
|
|
|
|
@@ -388,10 +390,13 @@ static int meson_drv_probe(struct platform_device *pdev)
|
|
|
|
|
|
for_each_endpoint_of_node(np, ep) {
|
|
|
remote = of_graph_get_remote_port_parent(ep);
|
|
|
- if (!remote || !of_device_is_available(remote))
|
|
|
+ if (!remote || !of_device_is_available(remote)) {
|
|
|
+ of_node_put(remote);
|
|
|
continue;
|
|
|
+ }
|
|
|
|
|
|
count += meson_probe_remote(pdev, &match, np, remote);
|
|
|
+ of_node_put(remote);
|
|
|
}
|
|
|
|
|
|
if (count && !match)
|