dmaengine: ti: Fix refcount leak in ti_dra7_xbar_route_allocate
authorMiaoqian Lin <linmq006@gmail.com>
Sun, 5 Jun 2022 04:27:23 +0000 (08:27 +0400)
committerVinod Koul <vkoul@kernel.org>
Thu, 9 Jun 2022 06:00:30 +0000 (11:30 +0530)
of_parse_phandle() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not needed anymore.

Add missing of_node_put() in to fix this.

Fixes: ec9bfa1e1a79 ("dmaengine: ti-dma-crossbar: dra7: Use bitops instead of idr")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220605042723.17668-2-linmq006@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/ti/dma-crossbar.c

index 71d24fc..e34cfb5 100644 (file)
@@ -268,6 +268,7 @@ static void *ti_dra7_xbar_route_allocate(struct of_phandle_args *dma_spec,
                mutex_unlock(&xbar->mutex);
                dev_err(&pdev->dev, "Run out of free DMA requests\n");
                kfree(map);
+               of_node_put(dma_spec->np);
                return ERR_PTR(-ENOMEM);
        }
        set_bit(map->xbar_out, xbar->dma_inuse);