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: b092529e0a
("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>
This commit is contained in:
parent
df6a1dc71c
commit
5cd8a51517
|
@ -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 +
|
||||
|
|
Loading…
Reference in New Issue