linux/drivers/tty
Uwe Kleine-König 17754964dd serial/mxs-auart: increase time to wait for transmitter to become idle
commit 079a036f42 upstream.

Without this patch the driver waits ~1 ms for the UART to become idle. At
115200n8 this time is (theoretically) enough to transfer 11.5 characters
(= 115200 bits/s / (10 Bits/char) * 1ms). As the mxs-auart has a fifo size
of 16 characters the clock is gated too early. The problem is worse for
lower baud rates.

This only happens to really shut down the transmitter in the middle of a
transfer if /dev/ttyAPPx isn't opened in userspace (e.g. by a getty) but
was at least once (because the bootloader doesn't disable the transmitter).

So increase the timeout to 20 ms which should be enough for 9600n8, too.
Moreover skip gating the clock if the timeout is elapsed.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-11 15:38:41 -07:00
..
hvc xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness. 2012-06-22 11:36:54 -07:00
ipwireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-03-20 21:04:47 -07:00
serial serial/mxs-auart: increase time to wait for transmitter to become idle 2013-08-11 15:38:41 -07:00
vt vt: synchronize_rcu() under spinlock is not nice... 2013-04-05 10:04:19 -07:00
amiserial.c drivers/tty/amiserial.c: add missing tty_unlock 2012-04-19 19:15:35 -07:00
bfin_jtag_comm.c
cyclades.c
ehv_bytechan.c
isicom.c Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
Kconfig
Makefile
moxa.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
moxa.h
mxser.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mxser.h
n_gsm.c tty: Prevent deadlock in n_gsm driver 2013-02-28 06:58:59 -08:00
n_hdlc.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
n_r3964.c
n_tracerouter.c
n_tracesink.c
n_tracesink.h
n_tty.c TTY: Fix tty miss restart after we turn off flow-control 2013-06-07 12:49:11 -07:00
nozomi.c
pty.c tty: fix up atime/mtime mess, take three 2013-05-07 19:51:53 -07:00
rocket_int.h
rocket.c
rocket.h
synclink_gt.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
synclink.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
synclinkmp.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sysrq.c sysrq: use SEND_SIG_FORCED instead of force_sig() 2012-04-05 15:25:50 -07:00
tty_audit.c
tty_buffer.c
tty_io.c tty: fix up atime/mtime mess, take three 2013-05-07 19:51:53 -07:00
tty_ioctl.c tty: set_termios/set_termiox should not return -EINTR 2013-02-28 06:58:59 -08:00
tty_ldisc.c
tty_mutex.c
tty_port.c