diff options
| -rw-r--r-- | drivers/gpu/drm/meson/meson_drv.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c index 3ee4d4a4ecba..b59c7570f4cb 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c | |||
| @@ -388,8 +388,10 @@ static int meson_probe_remote(struct platform_device *pdev, | |||
| 388 | remote_node = of_graph_get_remote_port_parent(ep); | 388 | remote_node = of_graph_get_remote_port_parent(ep); |
| 389 | if (!remote_node || | 389 | if (!remote_node || |
| 390 | remote_node == parent || /* Ignore parent endpoint */ | 390 | remote_node == parent || /* Ignore parent endpoint */ |
| 391 | !of_device_is_available(remote_node)) | 391 | !of_device_is_available(remote_node)) { |
| 392 | of_node_put(remote_node); | ||
| 392 | continue; | 393 | continue; |
| 394 | } | ||
| 393 | 395 | ||
| 394 | count += meson_probe_remote(pdev, match, remote, remote_node); | 396 | count += meson_probe_remote(pdev, match, remote, remote_node); |
| 395 | 397 | ||
| @@ -408,10 +410,13 @@ static int meson_drv_probe(struct platform_device *pdev) | |||
| 408 | 410 | ||
| 409 | for_each_endpoint_of_node(np, ep) { | 411 | for_each_endpoint_of_node(np, ep) { |
| 410 | remote = of_graph_get_remote_port_parent(ep); | 412 | remote = of_graph_get_remote_port_parent(ep); |
| 411 | if (!remote || !of_device_is_available(remote)) | 413 | if (!remote || !of_device_is_available(remote)) { |
| 414 | of_node_put(remote); | ||
| 412 | continue; | 415 | continue; |
| 416 | } | ||
| 413 | 417 | ||
| 414 | count += meson_probe_remote(pdev, &match, np, remote); | 418 | count += meson_probe_remote(pdev, &match, np, remote); |
| 419 | of_node_put(remote); | ||
| 415 | } | 420 | } |
| 416 | 421 | ||
| 417 | if (count && !match) | 422 | if (count && !match) |
