OSDN Git Service

drm/msm: Remove bad calls to of_node_put()
authorArchit Taneja <architt@codeaurora.org>
Thu, 17 Nov 2016 06:42:03 +0000 (12:12 +0530)
committerRob Clark <robdclark@gmail.com>
Sun, 27 Nov 2016 16:35:07 +0000 (11:35 -0500)
In add_components_mdp, we parse the endpoints in MDP output ports
using the helper for_each_endpoint_of_node(). Our function calls
of_node_put() on the endpoint node before we iterate over the
next one. This is already done by the helper, and results in
trying to decrement the refcount twice.

Remove the extra of_node_put calls. This fixes warnings seen when
we try to insert the driver as a module on IFC6410.

Reported-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/msm_drv.c

index aa41d8d..a2cc990 100644 (file)
@@ -911,10 +911,8 @@ static int add_components_mdp(struct device *mdp_dev,
                 * remote-endpoint isn't a component that we need to add
                 */
                if (of_device_is_compatible(np, "qcom,mdp4") &&
-                   ep.port == 0) {
-                       of_node_put(ep_node);
+                   ep.port == 0)
                        continue;
-               }
 
                /*
                 * It's okay if some of the ports don't have a remote endpoint
@@ -922,15 +920,12 @@ static int add_components_mdp(struct device *mdp_dev,
                 * any external interface.
                 */
                intf = of_graph_get_remote_port_parent(ep_node);
-               if (!intf) {
-                       of_node_put(ep_node);
+               if (!intf)
                        continue;
-               }
 
                drm_of_component_match_add(master_dev, matchptr, compare_of,
                                           intf);
                of_node_put(intf);
-               of_node_put(ep_node);
        }
 
        return 0;