[PATCH 5/7] serial: imx: umap sg buffers when DMA channel is released
From: Uwe Kleine-König <hidden>
Date: 2017-07-03 07:01:28
Also in:
linux-serial, lkml
From: Uwe Kleine-König <hidden>
Date: 2017-07-03 07:01:28
Also in:
linux-serial, lkml
$Subject ~= s/umap/unmap/ On Fri, Jun 30, 2017 at 02:04:44PM +0200, Romain Perier wrote:
From: Nandor Han <redacted> This commits unmaps sg buffers when the DMA channel is released Signed-off-by: Nandor Han <redacted> Signed-off-by: Romain Perier <redacted> --- drivers/tty/serial/imx.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index e8cf7cf..58d6b1c 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c@@ -1215,6 +1215,12 @@ static void imx_stop_tx_dma(struct imx_port *sport) temp = readl(sport->port.membase + UCR1); temp &= ~UCR1_TDMAEN; writel(temp, sport->port.membase + UCR1); + + if (sport->dma_is_txing) { + dma_unmap_sg(sport->port.dev, &sport->tx_sgl[0], + sport->dma_tx_nents, DMA_TO_DEVICE); + sport->dma_is_txing = 0;
You don't motivate setting dma_is_txing to zero in the commit log. Does this mean the driver leaks memory in the current state?
+ } } static void imx_stop_rx_dma(struct imx_port *sport)
Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |