From 1d46c08d246e2e0a2d81985727392a5a8348d06a Mon Sep 17 00:00:00 2001 From: Marek Szyprowski Date: Tue, 12 Jul 2022 16:07:45 +0200 Subject: [PATCH] tty: serial: samsung_tty: fix s3c24xx_serial_set_mctrl() S3C2410_UCON is a 32bit register, so it must be read with rd_regl() instead of rd_reg(), otherwise the upper bits will be zeroed. Fix this. Fixes: 72a43046b61a ("tty: serial: samsung_tty: loopback mode support") Tested-by: Chanho Park Reviewed-by: Krzysztof Kozlowski Reviewed-by: Chanho Park Signed-off-by: Marek Szyprowski Link: https://lore.kernel.org/r/20220712140745.30362-1-m.szyprowski@samsung.com Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/samsung_tty.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index 8971fbb..0fd4ac5 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -1018,7 +1018,7 @@ static unsigned int s3c24xx_serial_get_mctrl(struct uart_port *port) static void s3c24xx_serial_set_mctrl(struct uart_port *port, unsigned int mctrl) { unsigned int umcon = rd_regl(port, S3C2410_UMCON); - unsigned int ucon = rd_reg(port, S3C2410_UCON); + unsigned int ucon = rd_regl(port, S3C2410_UCON); if (mctrl & TIOCM_RTS) umcon |= S3C2410_UMCOM_RTS_LOW; -- 2.7.4