Commit a7a7ee6f authored by Akhil R's avatar Akhil R Committed by Vinod Koul

dmaengine: tegra: Fix memory leak in terminate_all()

Terminate vdesc when terminating an ongoing transfer.
This will ensure that the vdesc is present in the desc_terminated list
The descriptor will be freed later in desc_free_list().

This fixes the memory leaks which can happen when terminating an
ongoing transfer.

Fixes: ee170280 ("dmaengine: tegra: Add tegra gpcdma driver")
Signed-off-by: default avatarAkhil R <akhilrajeev@nvidia.com>
Link: https://lore.kernel.org/r/20230118115801.15210-1-akhilrajeev@nvidia.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 596b53cc
...@@ -711,6 +711,7 @@ static int tegra_dma_terminate_all(struct dma_chan *dc) ...@@ -711,6 +711,7 @@ static int tegra_dma_terminate_all(struct dma_chan *dc)
return err; return err;
} }
vchan_terminate_vdesc(&tdc->dma_desc->vd);
tegra_dma_disable(tdc); tegra_dma_disable(tdc);
tdc->dma_desc = NULL; tdc->dma_desc = NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment