| From 97b9ed9c7f4f26b2dcf51e84e3533215175cb2cd Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Tue, 25 Oct 2016 00:37:18 +0000 |
| Subject: [PATCH 069/299] ASoC: rsnd: don't call unneeded of_node_put() on |
| dma.c |
| |
| Current rsnd_dmaen_start() is calling of_node_put() for np, |
| but it is not needed if it goes through this loop. |
| This patch tidyup it |
| |
| Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| (cherry picked from commit 161ba1f1a5c99c4525eb39cc71ec984e0a39e6d7) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/sh/rcar/dma.c | 10 ++++------ |
| 1 file changed, 4 insertions(+), 6 deletions(-) |
| |
| --- a/sound/soc/sh/rcar/dma.c |
| +++ b/sound/soc/sh/rcar/dma.c |
| @@ -143,19 +143,17 @@ static int rsnd_dmaen_start(struct rsnd_ |
| struct dma_chan *rsnd_dma_request_channel(struct device_node *of_node, |
| struct rsnd_mod *mod, char *name) |
| { |
| - struct dma_chan *chan; |
| + struct dma_chan *chan = NULL; |
| struct device_node *np; |
| int i = 0; |
| |
| for_each_child_of_node(of_node, np) { |
| - if (i == rsnd_mod_id(mod)) |
| - break; |
| + if (i == rsnd_mod_id(mod) && (!chan)) |
| + chan = of_dma_request_slave_channel(np, name); |
| i++; |
| } |
| |
| - chan = of_dma_request_slave_channel(np, name); |
| - |
| - of_node_put(np); |
| + /* It should call of_node_put(), since, it is rsnd_xxx_of_node() */ |
| of_node_put(of_node); |
| |
| return chan; |