Geert Uytterhoeven
ad3faea03f
serial: sh-sci: Fix late enablement of AUTORTS
...
commit 5f76895e4c712b1b5af450cf344389b8c53ac2c2 upstream.
When changing hardware control flow for a UART with dedicated RTS/CTS
pins, the new AUTORTS state is not immediately reflected in the
hardware, but only when RTS is raised. However, the serial core does
not call .set_mctrl() after .set_termios(), hence AUTORTS may only
become effective when the port is closed, and reopened later.
Note that this problem does not happen when manually using stty to
change CRTSCTS, as AUTORTS will work fine on next open.
To fix this, call .set_mctrl() from .set_termios() when dedicated
RTS/CTS pins are present, to refresh the AUTORTS or RTS state.
This is similar to what other drivers supporting AUTORTS do (e.g.
omap-serial).
Reported-by: Baumann, Christoph (C.) <cbaumann@visteon.com>
Fixes: 33f50ffc25 ("serial: sh-sci: Fix support for hardware-assisted RTS/CTS")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-24 07:11:14 +02:00
..
hvc
tty/hvc: Use opal irqchip interface if available
2016-07-27 12:38:20 +10:00
ipwireless
tty: ipwireless, cleanup TIOCGSERIAL
2016-06-25 08:56:30 -07:00
serial
serial: sh-sci: Fix late enablement of AUTORTS
2017-06-24 07:11:14 +02:00
vt
vt: fix Scroll Lock LED trigger name
2017-01-09 08:32:21 +01:00
amiserial.c
tty: Replace ASYNC_INITIALIZED bit and update atomically
2016-04-30 09:26:55 -07:00
bfin_jtag_comm.c
cyclades.c
tty: stop defining STD_COM_FLAGS in drivers
2016-06-25 08:56:30 -07:00
ehv_bytechan.c
drivers/tty: make ehv_bytechan.c explicitly non-modular
2016-02-06 23:26:43 -08:00
goldfish.c
tty: goldfish: support platform_device with id -1
2016-03-07 16:11:14 -08:00
isicom.c
tty: Replace ASYNC_INITIALIZED bit and update atomically
2016-04-30 09:26:55 -07:00
Kconfig
devpts: Make each mount of devpts an independent filesystem.
2016-06-05 10:36:01 -07:00
Makefile
metag_da.c
timers, drivers/tty/metag_da: Initialize the poll timer as pinned
2016-07-07 10:25:14 +02:00
mips_ejtag_fdc.c
timers, drivers/tty/mips_ejtag: Initialize the poll timer as pinned
2016-07-07 10:34:59 +02:00
moxa.c
tty: Replace ASYNC_INITIALIZED bit and update atomically
2016-04-30 09:26:55 -07:00
moxa.h
mxser.c
tty: cyclades+mxser, do not initialize to zero
2016-06-25 08:56:30 -07:00
mxser.h
n_gsm.c
TTY and Serial driver update for 4.7-rc1
2016-05-20 20:57:27 -07:00
n_hdlc.c
tty: n_hdlc: get rid of racy n_hdlc.tbuf
2017-03-15 10:02:40 +08:00
n_r3964.c
tty: r3964: Replace/remove bogus tty lock use
2015-10-17 21:11:29 -07:00
n_tracerouter.c
n_tracerouter: stop including <asm-generic/bug>
2015-10-15 00:21:10 +02:00
n_tracesink.c
n_tracesink: stop including <asm-generic/bug>
2015-10-15 00:21:11 +02:00
n_tracesink.h
n_tty.c
Fix OpenSSH pty regression on close
2016-05-01 13:22:54 -07:00
nozomi.c
tty: Replace TTY_THROTTLED bit tests with tty_throttled()
2016-04-30 09:26:55 -07:00
pty.c
tty: pty: Fix ldisc flush after userspace become aware of the data already
2017-05-20 14:28:41 +02:00
rocket.c
TTY: add __init attribute
2016-04-30 09:26:55 -07:00
rocket.h
rocket_int.h
tty: rocket: Remove private close_wait
2016-01-28 14:13:44 -08:00
synclink.c
TTY and Serial driver update for 4.7-rc1
2016-05-20 20:57:27 -07:00
synclink_gt.c
TTY and Serial driver update for 4.7-rc1
2016-05-20 20:57:27 -07:00
synclinkmp.c
TTY and Serial driver update for 4.7-rc1
2016-05-20 20:57:27 -07:00
sysrq.c
sysrq: attach sysrq handler correctly for 32-bit kernel
2017-01-19 20:18:03 +01:00
tty_audit.c
tty: audit: remove unused variable
2016-03-07 16:11:14 -08:00
tty_buffer.c
Fix OpenSSH pty regression on close
2016-05-01 13:22:54 -07:00
tty_io.c
Merge 4.6-rc7 into tty-next
2016-05-09 09:39:13 +02:00
tty_ioctl.c
tty: Replace TTY_THROTTLED bit tests with tty_throttled()
2016-04-30 09:26:55 -07:00
tty_ldisc.c
tty: Eliminate global symbol tty_ldisc_N_TTY
2016-01-27 15:13:28 -08:00
tty_ldsem.c
tty: Deinline __ldsem_down_write_nested, save 128 bytes
2015-12-13 19:59:48 -08:00
tty_mutex.c
Merge 4.5-rc4 into tty-next
2016-02-14 14:36:04 -08:00
tty_port.c
tty: Replace ASYNC_INITIALIZED bit and update atomically
2016-04-30 09:26:55 -07:00