Re: [PATCH] drm/msm: Remove bad calls to of_node_put()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 17, 2016 at 1:42 AM, Archit Taneja <architt@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxx>
> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx>
> ---
>  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
>
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux