[PATCH] drm/msm: Remove bad calls to of_node_put()
Rob Clark
robdclark at gmail.com
Fri Nov 18 22:04:56 UTC 2016
On Thu, Nov 17, 2016 at 1:42 AM, Archit Taneja <architt at codeaurora.org> wrote:
> 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.
thanks.. fwiw, I've also seen this error on at least one of db{410,820}c..
BR,
-R
> Reported-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Signed-off-by: Archit Taneja <architt at codeaurora.org>
> ---
> drivers/gpu/drm/msm/msm_drv.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index 46568fc..5cabe1b 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -903,10 +903,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
> @@ -914,15 +912,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;
> - }
>
> component_match_add(master_dev, matchptr, compare_of, intf);
>
> of_node_put(intf);
> - of_node_put(ep_node);
> }
>
> return 0;
> --
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
>
More information about the dri-devel
mailing list