diff options
author | Marek Szyprowski <m.szyprowski@samsung.com> | 2022-07-12 17:07:45 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-07-14 17:33:26 +0300 |
commit | 1d46c08d246e2e0a2d81985727392a5a8348d06a (patch) | |
tree | aee33b3133fed9b229e6e130f6a87e50367dc63a /drivers/tty | |
parent | 806a449725cbd679a7f52c394d3c87b451d66bd5 (diff) | |
download | linux-1d46c08d246e2e0a2d81985727392a5a8348d06a.tar.xz |
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 <chanho61.park@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Chanho Park <chanho61.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20220712140745.30362-1-m.szyprowski@samsung.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/samsung_tty.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index 8971fbb49fa3..0fd4ac58c6ce 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; |