mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/1] i2c: imx-lpi2c: remove dmaengine_desc_free()
@ 2026-09-29 19:06 Frank.Li
  2026-10-08  8:09 ` Carlos Song
  0 siblings, 1 reply; 2+ messages in thread
From: Frank.Li @ 2026-09-29 19:06 UTC (permalink / raw)
  To: Dong Aisheng, Andi Shyti, Frank Li, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam,
	open list:FREESCALE IMX LPI2C DRIVER,
	open list:FREESCALE IMX LPI2C DRIVER,
	moderated list:ARM/FREESCALE IMX / MXC / LAYERSCAPE ARM ARCHIT...,
	open list
  Cc: vkoul, imx

From: Frank Li <Frank.Li@nxp.com>

dmaengine_desc_free() is designed for DMA_CTRL_REUSE. If DMA_CTRL_REUSE
is not set, dmaengine_desc_free() will return -EPERM.

	if (!dmaengine_desc_test_reuse(desc))
		return -EPERM;

So calling dmaengine_desc_free() does nothing. dmaengine_terminate_(a)sync()
will free all already allocated descriptors.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 drivers/i2c/busses/i2c-imx-lpi2c.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
index 49aabef7f115c..d6f266e2d6bea 100644
--- a/drivers/i2c/busses/i2c-imx-lpi2c.c
+++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
@@ -851,7 +851,6 @@ static int lpi2c_dma_rx_cmd_submit(struct lpi2c_imx_struct *lpi2c_imx)
 submit_err_exit:
 	dma_unmap_single(txchan->device->dev, dma->dma_tx_addr,
 			 dma->rx_cmd_buf_len, DMA_TO_DEVICE);
-	dmaengine_desc_free(rx_cmd_desc);
 	return -EINVAL;
 }
 
@@ -910,7 +909,6 @@ static int lpi2c_dma_submit(struct lpi2c_imx_struct *lpi2c_imx)
 
 submit_err_exit:
 	lpi2c_dma_unmap(dma);
-	dmaengine_desc_free(desc);
 	return -EINVAL;
 }
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] i2c: imx-lpi2c: remove dmaengine_desc_free()
  2026-09-29 19:06 [PATCH 1/1] i2c: imx-lpi2c: remove dmaengine_desc_free() Frank.Li
@ 2026-10-08  8:09 ` Carlos Song
  0 siblings, 0 replies; 2+ messages in thread
From: Carlos Song @ 2026-10-08  8:09 UTC (permalink / raw)
  To: Frank.Li, Dong Aisheng, Andi Shyti, Frank Li, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam,
	open list:FREESCALE IMX LPI2C DRIVER,
	open list:FREESCALE IMX LPI2C DRIVER,
	moderated list:ARM/FREESCALE IMX / MXC / LAYERSCAPE ARM ARCHIT...,
	open list
  Cc: vkoul







> From: Frank Li <Frank.Li@nxp.com>
> 
> dmaengine_desc_free() is designed for DMA_CTRL_REUSE. If DMA_CTRL_REUSE
> is not set, dmaengine_desc_free() will return -EPERM.
> 
> 	if (!dmaengine_desc_test_reuse(desc))
> 		return -EPERM;
> 
> So calling dmaengine_desc_free() does nothing. dmaengine_terminate_(a)sync()
> will free all already allocated descriptors.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
>  drivers/i2c/busses/i2c-imx-lpi2c.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
> index 49aabef7f115c..d6f266e2d6bea 100644
> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> @@ -851,7 +851,6 @@ static int lpi2c_dma_rx_cmd_submit(struct lpi2c_imx_struct *lpi2c_imx)
>  submit_err_exit:
>  	dma_unmap_single(txchan->device->dev, dma->dma_tx_addr,
>  			 dma->rx_cmd_buf_len, DMA_TO_DEVICE);
> -	dmaengine_desc_free(rx_cmd_desc);
>  	return -EINVAL;
>  }
>  
> @@ -910,7 +909,6 @@ static int lpi2c_dma_submit(struct lpi2c_imx_struct *lpi2c_imx)
>  
>  submit_err_exit:
>  	lpi2c_dma_unmap(dma);
> -	dmaengine_desc_free(desc);
>  	return -EINVAL;
>  }
>  

Hi, Frank

LGTM.

Reviewed-by: Carlos Song <carlos.song@nxp.com>

-- 
Best Regards,
Carlos


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-08  8:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-29 19:06 [PATCH 1/1] i2c: imx-lpi2c: remove dmaengine_desc_free() Frank.Li
2026-10-08  8:09 ` Carlos Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®