diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2024-01-07 11:02:04 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-02-16 19:10:42 +0100 |
commit | 5cd8a51517ce15edbdcea4fc74c4c127ddaa1bd6 (patch) | |
tree | fe72711280e33bd37d3c1fac6b72775f4280dabb /drivers/dma | |
parent | df6a1dc71c1d0668d0b6f4474e2d4b1f04c9be92 (diff) | |
download | linux-stable-5cd8a51517ce15edbdcea4fc74c4c127ddaa1bd6.tar.gz linux-stable-5cd8a51517ce15edbdcea4fc74c4c127ddaa1bd6.tar.bz2 linux-stable-5cd8a51517ce15edbdcea4fc74c4c127ddaa1bd6.zip |
dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
[ Upstream commit 3aa58cb51318e329d203857f7a191678e60bb714 ]
This dma_alloc_coherent() is undone neither in the remove function, nor in
the error handling path of fsl_qdma_probe().
Switch to the managed version to fix both issues.
Fixes: b092529e0aa0 ("dmaengine: fsl-qdma: Add qDMA controller driver for Layerscape SoCs")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/7f66aa14f59d32b13672dde28602b47deb294e1f.1704621515.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/fsl-qdma.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/dma/fsl-qdma.c b/drivers/dma/fsl-qdma.c index e4606ab27745..e4c293b76e05 100644 --- a/drivers/dma/fsl-qdma.c +++ b/drivers/dma/fsl-qdma.c @@ -514,11 +514,11 @@ static struct fsl_qdma_queue queue_temp = queue_head + i + (j * queue_num); queue_temp->cq = - dma_alloc_coherent(&pdev->dev, - sizeof(struct fsl_qdma_format) * - queue_size[i], - &queue_temp->bus_addr, - GFP_KERNEL); + dmam_alloc_coherent(&pdev->dev, + sizeof(struct fsl_qdma_format) * + queue_size[i], + &queue_temp->bus_addr, + GFP_KERNEL); if (!queue_temp->cq) return NULL; queue_temp->block_base = fsl_qdma->block_base + |