linux/drivers/tty/serial
Uwe Kleine-König 5680e94148 serial/imx: read cts state only after acking cts change irq
If cts changes between reading the level at the cts input (USR1_RTSS)
and acking the irq (USR1_RTSD) the last edge doesn't generate an irq and
uart_handle_cts_change is called with a outdated value for cts.

The race was introduced by commit

	ceca629 ([ARM] 2971/1: i.MX uart handle rts irq)

Reported-by: Arwed Springer <Arwed.Springer@de.trumpf.com>
Tested-by: Arwed Springer <Arwed.Springer@de.trumpf.com>
Cc: stable@kernel.org # 2.6.14+
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-19 16:36:25 -07:00
..
cpm_uart dt/serial: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
jsm Fix common misspellings 2011-03-31 11:26:23 -03:00
8250.c Fix common misspellings 2011-03-31 11:26:23 -03:00
8250.h
8250_accent.c
8250_acorn.c
8250_boca.c
8250_early.c
8250_exar_st16c554.c
8250_fourport.c
8250_gsc.c
8250_hp300.c
8250_hub6.c
8250_mca.c
8250_pci.c Fix common misspellings 2011-03-31 11:26:23 -03:00
8250_pnp.c
21285.c
68328serial.c Merge 2.6.38-rc6 into tty-next 2011-02-24 11:36:31 -08:00
68328serial.h 68328serial: remove unsed m68k_serial->tqueue_hangup 2011-02-03 14:16:49 -08:00
68360serial.c Merge 2.6.38-rc6 into tty-next 2011-02-24 11:36:31 -08:00
Kconfig apbuart: Depend upon sparc. 2011-03-30 21:12:24 -07:00
Makefile Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-17 19:08:06 -07:00
altera_jtaguart.c Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
altera_uart.c Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
amba-pl010.c ARM: amba: make probe() functions take const id tables 2011-02-23 16:24:14 +00:00
amba-pl011.c Fix common misspellings 2011-03-31 11:26:23 -03:00
apbuart.c sparc32,leon: Fixed APBUART frequency detection 2011-03-30 04:28:54 -07:00
apbuart.h
atmel_serial.c atmel_serial: enable PPS support 2011-02-17 11:26:12 -08:00
bcm63xx_uart.c
bfin_5xx.c serial: bfin_5xx: split uart RX lock from uart port lock to avoid deadlock 2011-02-03 14:44:54 -08:00
bfin_sport_uart.c tty: serial: bfin_sport_uart: fix signedness error 2011-02-03 11:40:46 -08:00
bfin_sport_uart.h
clps711x.c
crisv10.c tty: now phase out the ioctl file pointer for good 2011-02-17 11:59:56 -08:00
crisv10.h
dz.c
dz.h
icom.c Fix common misspellings 2011-03-31 11:26:23 -03:00
icom.h
ifx6x60.c tiocmset: kill the file pointer argument 2011-02-17 11:52:43 -08:00
ifx6x60.h serial: ifx6x60: minor cleanup 2011-02-17 11:16:15 -08:00
imx.c serial/imx: read cts state only after acking cts change irq 2011-04-19 16:36:25 -07:00
ioc3_serial.c
ioc4_serial.c
ip22zilog.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ip22zilog.h
kgdboc.c kgdboc,kgdbts: strlen() doesn't count the terminator 2011-03-25 16:37:30 -05:00
m32r_sio.c
m32r_sio.h
m32r_sio_reg.h
max3100.c workqueue, freezer: unify spelling of 'freeze' + 'able' to 'freezable' 2011-02-16 17:48:59 +01:00
max3107-aava.c
max3107.c workqueue, freezer: unify spelling of 'freeze' + 'able' to 'freezable' 2011-02-16 17:48:59 +01:00
max3107.h Fix common misspellings 2011-03-31 11:26:23 -03:00
mcf.c
mfd.c serial: mfd: add a module parameter for setting each port's working mode 2011-02-22 15:49:00 -08:00
mpc52xx_uart.c dt/serial: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
mpsc.c
mrst_max3110.c Fix common misspellings 2011-03-31 11:26:23 -03:00
mrst_max3110.h Fix common misspellings 2011-03-31 11:26:23 -03:00
msm_serial.c Merge branch 'msm-uart' into for-next 2011-01-24 11:16:43 -08:00
msm_serial.h Merge branch 'msm-uart' into for-next 2011-01-24 11:16:43 -08:00
msm_serial_hs.c Fix common misspellings 2011-03-31 11:26:23 -03:00
msm_smd_tty.c tty: Add msm_smd_tty driver 2011-02-17 11:25:38 -08:00
mux.c
mxs-auart.c Freescale STMP37XX/STMP378X Application UART driver: remove duplicate linux/device.h include 2011-02-15 18:35:42 +01:00
netx-serial.c
nwpserial.c
of_serial.c Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
omap-serial.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pch_uart.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
pmac_zilog.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pmac_zilog.h
pnx8xxx_uart.c
pxa.c
s3c24a0.c
s3c2400.c
s3c2410.c
s3c2412.c
s3c2440.c
s3c6400.c
s5pv210.c
sa1100.c
samsung.c Fix common misspellings 2011-03-31 11:26:23 -03:00
samsung.h
sb1250-duart.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
sc26xx.c
serial_core.c tty: now phase out the ioctl file pointer for good 2011-02-17 11:59:56 -08:00
serial_cs.c fmvj18x_cs: add new id 2011-02-28 12:06:20 -08:00
serial_ks8695.c
serial_txx9.c
sh-sci.c Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2011-04-07 12:48:45 -07:00
sh-sci.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into common/serial-rework 2011-01-26 18:23:27 +09:00
sn_console.c Fix common misspellings 2011-03-31 11:26:23 -03:00
suncore.c
suncore.h
sunhv.c dt/serial: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
sunsab.c dt/serial: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
sunsab.h
sunsu.c dt/serial: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
sunzilog.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sunzilog.h
timbuart.c
timbuart.h
uartlite.c dt: uartlite: merge platform and of_platform driver bindings 2011-02-28 13:22:43 -07:00
ucc_uart.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-03-18 06:31:43 -07:00
vr41xx_siu.c
vt8500_serial.c
zs.c
zs.h