summaryrefslogtreecommitdiff
path: root/drivers/dma/ti/k3-udma-private.c
diff options
context:
space:
mode:
authorYu Kuai <yukuai3@huawei.com>2020-06-18 16:01:10 +0300
committerVinod Koul <vkoul@kernel.org>2020-06-24 09:06:10 +0300
commit1438cde8fe9cb709b569f5829c4c892c0f3f15b3 (patch)
treefdbfbc3cbad894865b050f24349647464263ec69 /drivers/dma/ti/k3-udma-private.c
parent466257d9968ac79575831250b039dc07566c7b13 (diff)
downloadlinux-1438cde8fe9cb709b569f5829c4c892c0f3f15b3.tar.xz
dmaengine: ti: k3-udma: add missing put_device() call in of_xudma_dev_get()
if of_find_device_by_node() succeed and platform_get_drvdata() failed, of_xudma_dev_get() will return without put_device(), which will leak the memory. Signed-off-by: Yu Kuai <yukuai3@huawei.com> Link: https://lore.kernel.org/r/20200618130110.582543-1-yukuai3@huawei.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/ti/k3-udma-private.c')
-rw-r--r--drivers/dma/ti/k3-udma-private.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/ti/k3-udma-private.c b/drivers/dma/ti/k3-udma-private.c
index 0b8f3dd6b146..77e8e67d995b 100644
--- a/drivers/dma/ti/k3-udma-private.c
+++ b/drivers/dma/ti/k3-udma-private.c
@@ -42,6 +42,7 @@ struct udma_dev *of_xudma_dev_get(struct device_node *np, const char *property)
ud = platform_get_drvdata(pdev);
if (!ud) {
pr_debug("UDMA has not been probed\n");
+ put_device(&pdev->dev);
return ERR_PTR(-EPROBE_DEFER);
}