[PATCH 5.10 196/236] tty: serial: fsl_lpuart: fix the wrong mapbase value

From: Greg Kroah-Hartman
Date: Mon Sep 13 2021 - 09:49:40 EST


From: Andy Duan <fugang.duan@xxxxxxx>

[ Upstream commit d5c38948448abc2bb6b36dbf85a554bf4748885e ]

Register offset needs to be applied on mapbase also.
dma_tx/rx_request use the physical address of UARTDATA.
Register offset is currently only applied to membase (the
corresponding virtual addr) but not on mapbase.

Fixes: 24b1e5f0e83c ("tty: serial: lpuart: add imx7ulp support")
Reviewed-by: Leonard Crestez <leonard.crestez@xxxxxxx>
Signed-off-by: Adriana Reus <adriana.reus@xxxxxxx>
Signed-off-by: Sherry Sun <sherry.sun@xxxxxxx>
Signed-off-by: Andy Duan <fugang.duan@xxxxxxx>
Link: https://lore.kernel.org/r/20210819021033.32606-1-sherry.sun@xxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/tty/serial/fsl_lpuart.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index 2e74c88808db..a70911a227a8 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -2597,7 +2597,7 @@ static int lpuart_probe(struct platform_device *pdev)
return PTR_ERR(sport->port.membase);

sport->port.membase += sdata->reg_off;
- sport->port.mapbase = res->start;
+ sport->port.mapbase = res->start + sdata->reg_off;
sport->port.dev = &pdev->dev;
sport->port.type = PORT_LPUART;
sport->devtype = sdata->devtype;
--
2.30.2