linux/drivers/tty/serial
Ian Jamison a0983c742a serial: imx: Update cached mctrl value when changing RTS
UART core function uart_update_mctrl relies on a cached value of
modem control lines. This was used but not updated by local RTS
control functions within imx.c. These are used for RS485 line
driver enable signalling. Having an out-of-date value in the cached
mctrl can result in the transmitter being enabled when it shouldn't
be.

Fix this by updating the mctrl value before applying it.

Signed-off-by: Ian Jamison <ian.dev@arkver.com>
Origin: id:8195c96e674517b82a6ff7fe914c7ba0f86e702b.1505375165.git.ian.dev@arkver.com
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tested-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-03 20:23:38 +02:00
..
8250 TTY/Serial updates for 4.14-rc1 2017-09-05 10:30:48 -07:00
cpm_uart serial: cpm_uart: constify uart_ops structures 2017-08-28 20:51:21 +02:00
jsm tty: serial: jsm: constify pci_device_id. 2017-07-30 07:35:28 -07:00
21285.c serial: 21285: constify uart_ops structures 2017-08-28 20:51:21 +02:00
altera_jtaguart.c serial: altera_jtaguart: adding iounmap() 2017-05-18 16:43:55 +02:00
altera_uart.c serial: altera_uart: call iounmap() at driver remove 2017-05-25 14:36:37 +02:00
amba-pl010.c serial: pl010: constify amba_id 2017-08-28 20:51:19 +02:00
amba-pl011.c serial: pl011: constify amba_id 2017-08-28 20:51:19 +02:00
amba-pl011.h
apbuart.c serial: apbuart: constify uart_ops structures 2017-08-28 20:51:21 +02:00
apbuart.h
ar933x_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
arc_uart.c serial: arc: Remove __init marking from early write 2017-07-30 07:38:50 -07:00
atmel_serial.c serial: atmel: Use common rs485 device tree parsing function 2017-09-18 18:36:25 +02:00
atmel_serial.h tty/serial: atmel: move atmel_serial header into driver directory 2017-03-14 10:59:04 +08:00
bcm63xx_uart.c
bfin_sport_uart.c tty: serial: make sport_uart_ops static and const 2017-09-18 18:31:48 +02:00
bfin_sport_uart.h
bfin_uart.c
clps711x.c
crisv10.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
crisv10.h
digicolor-usart.c
dz.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
dz.h
earlycon-arm-semihost.c
earlycon.c earlycon: initialise baud field of earlycon device structure 2017-08-31 18:47:31 +02:00
efm32-uart.c serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' 2017-05-18 16:43:55 +02:00
etraxfs-uart.c
fsl_lpuart.c serial: fsl_lpuart: Use common rs485 device tree parsing function 2017-09-18 18:36:25 +02:00
icom.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
icom.h
ifx6x60.c serial: ifx6x60: fix use-after-free on module unload 2017-05-18 16:43:55 +02:00
ifx6x60.h
imx.c serial: imx: Update cached mctrl value when changing RTS 2017-10-03 20:23:38 +02:00
ioc3_serial.c drivers: tty: serial: move inline before return type 2017-07-12 16:26:04 -07:00
ioc4_serial.c drivers: tty: serial: move inline before return type 2017-07-12 16:26:04 -07:00
ip22zilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
ip22zilog.h
Kconfig tty: serial: owl: Implement console driver 2017-07-18 09:28:29 +02:00
kgdb_nmi.c
kgdboc.c
lantiq.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
lpc32xx_hs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
m32r_sio_reg.h
m32r_sio.c serial: m32r_sio: constify uart_ops structures 2017-08-28 20:51:21 +02:00
Makefile tty: serial: Add Actions Semi Owl UART earlycon 2017-06-20 10:24:15 +08:00
max310x.c serial: max310x: Add support for newer silicon revisions 2017-01-12 11:51:24 +01:00
max3100.c
mcf.c
men_z135_uart.c
meson_uart.c serial: meson: add Magic SysRq support 2017-09-18 18:31:48 +02:00
mpc52xx_uart.c serial: mpc52xx: constify uart_ops structures 2017-08-28 20:51:21 +02:00
mps2-uart.c
mpsc.c serial/mpsc: switch to dma_alloc_attrs 2017-06-20 10:24:15 +08:00
msm_serial.c tty: serial: msm: Move request_irq to the end of startup 2017-08-28 20:51:19 +02:00
mux.c TTY/Serial updates for 4.14-rc1 2017-09-05 10:30:48 -07:00
mvebu-uart.c
mxs-auart.c serial: mxs-auart: Fix baudrate calculation 2017-03-31 17:26:19 +02:00
netx-serial.c
omap-serial.c serial: omap-serial: Use common rs485 device tree parsing function 2017-09-18 18:36:25 +02:00
owl-uart.c serial: owl: constify uart_ops structures 2017-08-28 20:51:19 +02:00
pch_uart.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
pic32_uart.c serial: pic32_uart: Fix 'request_irq' and 'free_irq' inconsistancy 2017-01-12 11:51:24 +01:00
pic32_uart.h
pmac_zilog.c tty: Convert to using %pOF instead of full_name 2017-07-30 07:35:28 -07:00
pmac_zilog.h
pnx8xxx_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pxa.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
rp2.c
sa1100.c
samsung.c serial: samsung: Remove useless spinlock 2017-04-08 18:58:52 +02:00
samsung.h serial: samsung: Simplify DMA engine initialization code 2017-01-12 11:51:24 +01:00
sb1250-duart.c drivers: convert sbd_duart.map_guard from atomic_t to refcount_t 2017-03-14 11:01:40 +08:00
sc16is7xx.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
sccnxp.c Fix serial console on SNI RM400 machines 2017-06-03 18:48:52 +09:00
serial_core.c serial: Add common rs485 device tree parsing function 2017-09-18 18:36:25 +02:00
serial_ks8695.c
serial_mctrl_gpio.c
serial_mctrl_gpio.h
serial_txx9.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
serial-tegra.c serial: tegra: explicitly request exclusive reset control 2017-07-30 07:35:28 -07:00
sh-sci.c serial: sh-sci: use of_property_read_bool() 2017-08-28 20:51:20 +02:00
sh-sci.h serial: sh-sci: consider DR (data ready) bit adequately 2017-02-03 10:14:10 +01:00
sirfsoc_uart.c serial: sirf: make of_device_ids const 2017-06-20 10:24:15 +08:00
sirfsoc_uart.h
sn_console.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sprd_serial.c tty: serial: sprd: fix error return code in sprd_probe() 2017-08-28 20:51:19 +02:00
st-asc.c serial: st-asc: Avoid using irq_wake flag 2017-08-28 20:51:19 +02:00
stm32-usart.c serial: stm32-usart: Avoid using irq_wake flag 2017-08-28 20:51:19 +02:00
stm32-usart.h serial: stm32: add fifo support 2017-07-30 07:32:32 -07:00
suncore.c
sunhv.c sparc64: Send break twice from console to return to boot prom 2017-02-23 08:27:24 -08:00
sunsab.c serial: sunsab: constify uart_ops structures 2017-08-28 20:51:21 +02:00
sunsab.h
sunsu.c serial: sunsu: constify uart_ops structures 2017-08-28 20:51:21 +02:00
sunzilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sunzilog.h
tilegx.c
timbuart.c
timbuart.h
uartlite.c uartlite: Adding a kernel parameter for the number of uartlites 2017-03-17 14:14:30 +09:00
ucc_uart.c serial: uuc_uart: constify uart_ops structures 2017-08-28 20:51:21 +02:00
vr41xx_siu.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
vt8500_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
xilinx_uartps.c serial: xuartps: Remove __init marking from early write 2017-07-30 07:38:50 -07:00
zs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
zs.h