Re: [PATCH v3 2/4] dmaengine: dma-axi-dmac: Properly free struct axi_dmac_desc
From: Frank Li
Date: Thu Apr 09 2026 - 23:02:29 EST
On Wed, Apr 08, 2026 at 01:42:41PM +0100, Nuno Sá wrote:
> In axi_dmac_prep_peripheral_dma_vec() if we fail after calling
> axi_dmac_alloc_desc(), we need to use axi_dmac_free_desc() to fully free
> the descriptor.
Use axi_dmac_free_desc() to free fully the descriptor at fail path when
call axi_dmac_alloc_desc() in axi_dmac_prep_peripheral_dma_vec().
Frank
>
> Fixes: 74609e568670 ("dmaengine: dma-axi-dmac: Implement device_prep_peripheral_dma_vec")
> Signed-off-by: Nuno Sá <nuno.sa@xxxxxxxxxx>
> ---
> drivers/dma/dma-axi-dmac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c
> index 45c2c8e4bc45..127c3cf80a0e 100644
> --- a/drivers/dma/dma-axi-dmac.c
> +++ b/drivers/dma/dma-axi-dmac.c
> @@ -769,7 +769,7 @@ axi_dmac_prep_peripheral_dma_vec(struct dma_chan *c, const struct dma_vec *vecs,
> for (i = 0; i < nb; i++) {
> if (!axi_dmac_check_addr(chan, vecs[i].addr) ||
> !axi_dmac_check_len(chan, vecs[i].len)) {
> - kfree(desc);
> + axi_dmac_free_desc(desc);
> return NULL;
> }
>
>
> --
> 2.53.0
>