]> git.ipfire.org Git - thirdparty/kernel/stable.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>
Thu, 24 Jul 2025 06:56:21 +0000 (08:56 +0200)
commit 6c0e9f05c9d7875995b0e92ace71be947f280bbd upstream.

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 c7cee5fee60372d93330a77ebe76f8ec11b5ef3b..70676e3247ab33d7f507e17d1b34d473d70f0606 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;