lkml.org 
[lkml]   [2019]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 009/129] ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt()
    Date
    From: Takashi Iwai <tiwai@suse.de>

    commit 2757970f6d0d0a112247600b23d38c0c728ceeb3 upstream.

    The node obtained from of_find_node_by_path() has to be unreferenced
    after the use, but we forgot it for the root node.

    Fixes: f0fba2ad1b6b ("ASoC: multi-component - ASoC Multi-Component Support")
    Cc: Timur Tabi <timur@kernel.org>
    Cc: Nicolin Chen <nicoleotsuka@gmail.com>
    Cc: Xiubo Li <Xiubo.Lee@gmail.com>
    Cc: Fabio Estevam <festevam@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/soc/fsl/fsl_ssi.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    --- a/sound/soc/fsl/fsl_ssi.c
    +++ b/sound/soc/fsl/fsl_ssi.c
    @@ -1431,6 +1431,7 @@ static int fsl_ssi_probe(struct platform
    struct fsl_ssi_private *ssi_private;
    int ret = 0;
    struct device_node *np = pdev->dev.of_node;
    + struct device_node *root;
    const struct of_device_id *of_id;
    const char *p, *sprop;
    const uint32_t *iprop;
    @@ -1620,7 +1621,9 @@ static int fsl_ssi_probe(struct platform
    * device tree. We also pass the address of the CPU DAI driver
    * structure.
    */
    - sprop = of_get_property(of_find_node_by_path("/"), "compatible", NULL);
    + root = of_find_node_by_path("/");
    + sprop = of_get_property(root, "compatible", NULL);
    + of_node_put(root);
    /* Sometimes the compatible name has a "fsl," prefix, so we strip it. */
    p = strrchr(sprop, ',');
    if (p)

    \
     
     \ /
      Last update: 2019-10-03 19:39    [W:4.288 / U:0.452 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site