]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pch_uart: Fix dma_sync_sg_for_device() nents value
authorThomas Fourier <fourier.thomas@gmail.com>
Tue, 1 Jul 2025 11:34:52 +0000 (13:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jul 2025 11:43:02 +0000 (13:43 +0200)
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
according to the documentation in Documentation/core-api/dma-api.rst:450:
With the sync_sg API, all the parameters must be the same
as those passed into the sg mapping API.

Fixes: da3564ee027e ("pch_uart: add multi-scatter processing")
Cc: stable <stable@kernel.org>
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20250701113452.18590-2-fourier.thomas@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/pch_uart.c

index 508e8c6f01d4d2cad0464189d65396ecd2ca9131..884fefbfd5a109274082bb1e7163f93f8a98a4c5 100644 (file)
@@ -954,7 +954,7 @@ static unsigned int dma_handle_tx(struct eg20t_port *priv)
                        __func__);
                return 0;
        }
-       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, num, DMA_TO_DEVICE);
        priv->desc_tx = desc;
        desc->callback = pch_dma_tx_complete;
        desc->callback_param = priv;