linux/drivers/tty
Pali Rohár 59819f0aaf serial: 8250: Fix reporting real baudrate value in c_ospeed field
[ Upstream commit 32262e2e42 ]

In most cases it is not possible to set exact baudrate value to hardware.

So fix reporting real baudrate value which was set to hardware via c_ospeed
termios field. It can be retrieved by ioctl(TCGETS2) from userspace.

Real baudrate value is calculated from chosen hardware divisor and base
clock. It is implemented in a new function serial8250_compute_baud_rate()
which is inverse of serial8250_get_divisor() function.

With this change is fixed also UART timeout value (it is updated via
uart_update_timeout() function), which is calculated from the now fixed
baudrate value too.

Cc: stable@vger.kernel.org
Signed-off-by: Pali Rohár <pali@kernel.org>
Link: https://lore.kernel.org/r/20210927093704.19768-1-pali@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-23 14:16:55 +02:00
..
hvc tty: hvc: fix return value of __setup handler 2022-04-08 14:40:28 +02:00
ipwireless
serdev
serial serial: 8250: Fix reporting real baudrate value in c_ospeed field 2022-09-23 14:16:55 +02:00
vt vt: Clear selection before changing the font 2022-09-08 11:11:37 +02:00
amiserial.c
cyclades.c tty: drivers/tty/, stop using tty_schedule_flip() 2022-07-29 17:19:27 +02:00
ehv_bytechan.c
goldfish.c tty: drivers/tty/, stop using tty_schedule_flip() 2022-07-29 17:19:27 +02:00
isicom.c
Kconfig
Makefile
mips_ejtag_fdc.c
moxa.c tty: drivers/tty/, stop using tty_schedule_flip() 2022-07-29 17:19:27 +02:00
moxa.h
mxser.c mxser: fix xmit_buf leak in activate when LSR == 0xff 2022-04-08 14:40:23 +02:00
mxser.h
n_gsm.c tty: n_gsm: avoid call of sleeping functions from atomic context 2022-09-15 11:32:02 +02:00
n_hdlc.c
n_null.c
n_r3964.c
n_tracerouter.c
n_tracesink.c
n_tracesink.h
n_tty.c tty: n_tty: Restore EOF push handling behavior 2022-06-14 18:32:30 +02:00
nozomi.c
pty.c tty: use new tty_insert_flip_string_and_push_buffer() in pty_write() 2022-07-29 17:19:28 +02:00
rocket_int.h
rocket.c
rocket.h
synclink_gt.c tty: synclink_gt: Fix null-pointer-dereference in slgt_clean() 2022-06-14 18:32:41 +02:00
synclink.c
synclinkmp.c
sysrq.c sysrq: do not omit current cpu when showing backtrace of all active CPUs 2022-06-14 18:32:42 +02:00
tty_audit.c
tty_baudrate.c
tty_buffer.c tty: use new tty_insert_flip_string_and_push_buffer() in pty_write() 2022-07-29 17:19:28 +02:00
tty_io.c
tty_ioctl.c
tty_jobctrl.c
tty_ldisc.c
tty_ldsem.c
tty_mutex.c
tty_port.c
ttynull.c
vcc.c