The call to of_graph_get_remote_port returns a node pointer with refcount incremented thus it must be explicitly decremented after the last usage.
Detected by coccinelle with the following warnings: drivers/gpu/drm/meson/meson_dw_hdmi.c:725:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 722, but without a corresponding object release within this function. Signed-off-by: Wen Yang <wen.yan...@zte.com.cn> Cc: Neil Armstrong <narmstr...@baylibre.com> Cc: David Airlie <airl...@linux.ie> Cc: Daniel Vetter <dan...@ffwll.ch> Cc: Kevin Hilman <khil...@baylibre.com> Cc: dri-devel@lists.freedesktop.org Cc: linux-amlo...@lists.infradead.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-ker...@vger.kernel.org Cc: Markus Elfring <markus.elfr...@web.de> --- v2->v1: convert a if statement into a ternary statement. drivers/gpu/drm/meson/meson_dw_hdmi.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c index 563953e..826b98b 100644 --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -720,15 +720,10 @@ static bool meson_hdmi_connector_is_available(struct device *dev) /* If the endpoint node exists, consider it enabled */ remote = of_graph_get_remote_port(ep); - if (remote) { - of_node_put(ep); - return true; - } - of_node_put(ep); of_node_put(remote); - return false; + return remote ? true : false; } static int meson_dw_hdmi_bind(struct device *dev, struct device *master, -- 2.9.5 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel