> Subject: [PATCH V2] tty: serial: fsl_lpuart: use the sg count from dma_map_sg Ignore this patch. Keep v1. Thanks, Peng. > > From: Peng Fan <peng.fan@xxxxxxx> > > The dmaengine_prep_slave_sg needs to use sg count returned by > dma_map_sg, not use sport->dma_tx_nents, because the return value of > dma_map_sg is not always same with "nents". > > When enabling iommu for lpuart + edma, iommu framework may concatenate > two sgs into one. > > Fixes: 6250cc30c4c4e ("tty: serial: fsl_lpuart: Use scatter/gather DMA for Tx") > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > --- > > V2: > Assign ret to sport->dma_tx_nents, then we no need to fix dma_unmap_sg > Hi Greg, > I saw v1 patch merged to tty-next, please help to replace with V2 if this > is ok for you, or you need I have a follow up fix for v1. > > drivers/tty/serial/fsl_lpuart.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index > 3e17bb8a0b16..ec5ea098669e 100644 > --- a/drivers/tty/serial/fsl_lpuart.c > +++ b/drivers/tty/serial/fsl_lpuart.c > @@ -436,6 +436,7 @@ static void lpuart_dma_tx(struct lpuart_port *sport) > return; > } > > + sport->dma_tx_nents = ret; > sport->dma_tx_desc = dmaengine_prep_slave_sg(sport->dma_tx_chan, > sgl, > sport->dma_tx_nents, > DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT); > -- > 2.16.4