summaryrefslogtreecommitdiffstats
path: root/drivers/soc/ti/knav_dma.c
diff options
context:
space:
mode:
authorVasyl Gomonovych <gomonovych@gmail.com>2021-01-24 20:51:36 -0800
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>2021-01-24 20:51:36 -0800
commita88f66d4a8668e66afa8eb4099b4515e0729b52a (patch)
treee343da1e35ca91aedfd0582115ad6060c5c16b54 /drivers/soc/ti/knav_dma.c
parent5c8fe583cce542aa0b84adc939ce85293de36e5e (diff)
downloadlinux-a88f66d4a8668e66afa8eb4099b4515e0729b52a.tar.bz2
soc: ti: knav_qmss: Put refcount for dev node in failure case
for_each_child_of_node increases refcount for each device_node and decreases previous one in a loop, but in case jump out of a loop current node refcount has no chnase for decreases so requires an of_node_put for jupm out cases. Fix based on raport from scripts/coccinelle/iterators/for_each_child.cocci Signed-off-by: Vasyl Gomonovych <gomonovych@gmail.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Diffstat (limited to 'drivers/soc/ti/knav_dma.c')
-rw-r--r--drivers/soc/ti/knav_dma.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/soc/ti/knav_dma.c b/drivers/soc/ti/knav_dma.c
index 7b5cb5d48f7d..591d14ebcb11 100644
--- a/drivers/soc/ti/knav_dma.c
+++ b/drivers/soc/ti/knav_dma.c
@@ -758,6 +758,7 @@ static int knav_dma_probe(struct platform_device *pdev)
for_each_child_of_node(node, child) {
ret = dma_init(node, child);
if (ret) {
+ of_node_put(child);
dev_err(&pdev->dev, "init failed with %d\n", ret);
break;
}