mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 18:14:07 +08:00
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: 72a43046b6
("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>
This commit is contained in:
parent
806a449725
commit
1d46c08d24
@ -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)
|
static void s3c24xx_serial_set_mctrl(struct uart_port *port, unsigned int mctrl)
|
||||||
{
|
{
|
||||||
unsigned int umcon = rd_regl(port, S3C2410_UMCON);
|
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)
|
if (mctrl & TIOCM_RTS)
|
||||||
umcon |= S3C2410_UMCOM_RTS_LOW;
|
umcon |= S3C2410_UMCOM_RTS_LOW;
|
||||||
|
Loading…
Reference in New Issue
Block a user