Re: [PATCH] pch_uart: Fix dma_sync_sg_for_device() nents value

Jiri Slaby
2025-06-30T11:44:56Z

On 30. 06. 25, 13:41, Thomas Fourier wrote:
> The dma_sync_sg_for_device() functions should be called with the same
> nents as the dma_map_sg(), not the value the map function returned.
>
> Fixes: da3564ee027e ("pch_uart: add multi-scatter processing")
> Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
> ---
> drivers/tty/serial/pch_uart.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
> index 508e8c6f01d4..5aee3fdba8a1 100644
> --- a/drivers/tty/serial/pch_uart.c
> +++ b/drivers/tty/serial/pch_uart.c
> @@ -954,7 +954,7 @@ static unsigned int dma_handle_tx(struct eg20t_port *priv)
> __func__);
> return 0;
> }

I don't follow, given:
priv->nent = nent;
few lines above.

> - dma_sync_sg_for_device(port->dev, priv->sg_tx_p, nent, DMA_TO_DEVICE);
> + dma_sync_sg_for_device(port->dev, priv->sg_tx_p, priv->nent, DMA_TO_DEVICE);
> priv->desc_tx = desc;
> desc->callback = pch_dma_tx_complete;
> desc->callback_param = priv;

--
js
suse labs