Skip to content

Commit e54f128

Browse files
morimotobroonie
authored andcommitted
ASoC: audio-graph-card2: call of_node_get() before of_get_next_child()
commit c6f597b ("ASoC: audio-graph-card2: remove unneeded of_node_get()") removed of_node_get(), but it need to keep original reference, so of_node_get() itself is needed. Because of_get_next_child() will call of_node_put() inside, if the reference count dropped to zero, then of_node_get() after that will be use afer free. Need to call of_node_get() *before* that. Fixes: c6f597b ("ASoC: audio-graph-card2: remove unneeded of_node_get()") Link: https://lore.kernel.org/r/f930862e-9d30-4ea3-b3e7-b4b4f411f6d1@moroto.mountain Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/875xvmqzs8.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent acfff66 commit e54f128

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

sound/soc/generic/audio-graph-card2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,7 @@ static int graph_count_c2c(struct simple_util_priv *priv,
11971197
{
11981198
struct device_node *ports = of_get_parent(lnk);
11991199
struct device_node *port0 = lnk;
1200-
struct device_node *port1 = of_get_next_child(ports, lnk);
1200+
struct device_node *port1 = of_get_next_child(ports, of_node_get(lnk));
12011201
struct device_node *ep0 = port_to_endpoint(port0);
12021202
struct device_node *ep1 = port_to_endpoint(port1);
12031203
struct device_node *codec0 = of_graph_get_remote_port(ep0);

0 commit comments

Comments
 (0)