ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 18 Oct 2021 19:44:16 +0000 (21:44 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 29 Oct 2021 17:55:25 +0000 (18:55 +0100)
If we return before the end of the 'for_each_child_of_node()' iterator, the
reference taken on 'np' must be released.

Add the missing 'of_node_put()' call.

Fixes: c413983eb66a ("ASoC: rsnd: adjust disabled module")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/4c0e893cbfa21dc76c1ede0b6f4f8cff42209299.1634586167.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/core.c

index 978bd04..6a8fe0d 100644 (file)
@@ -1225,6 +1225,7 @@ int rsnd_node_count(struct rsnd_priv *priv, struct device_node *node, char *name
                if (i < 0) {
                        dev_err(dev, "strange node numbering (%s)",
                                of_node_full_name(node));
+                       of_node_put(np);
                        return 0;
                }
                i++;