linux/drivers/serial
Jiri Kosina 4bf3631cdb 8250: fix possible deadlock between serial8250_handle_port() and serial8250_interrupt()
Commit 40b36daa introduced possibility that serial8250_backup_timeout() ->
serial8250_handle_port() locks port.lock without disabling irqs, thus
allowing deadlock against interrupt handler (port.lock is acquired in
serial8250_interrupt()).

Spotted by lockdep.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-24 08:23:09 -07:00
..
cpm_uart [POWERPC] Fix compile failure in cpm_uart_cpm2 2007-02-16 14:00:19 +11:00
jsm [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
8250_accent.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_acorn.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
8250_au1x00.c [SERIAL] AMD Alchemy UART: claim memory range 2006-04-30 11:15:58 +01:00
8250_boca.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_early.c [SERIAL] kernel console should send CRLF not LFCR 2006-03-20 20:00:09 +00:00
8250_exar_st16c554.c [PATCH] Exar quad port serial 2006-12-07 08:39:35 -08:00
8250_fourport.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_gsc.c [PARISC] Clean up asm-parisc/serial.h 2006-10-04 06:47:03 -06:00
8250_hp300.c [PATCH] hp300: fix driver_register() return handling, remove dio_module_init() 2006-03-25 08:22:53 -08:00
8250_hub6.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_mca.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
8250_pci.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
8250_pnp.c [PATCH] add Fujitsu Siemens Tablet PC devices to 8250_pnp.c 2007-03-23 11:01:22 -07:00
8250.c 8250: fix possible deadlock between serial8250_handle_port() and serial8250_interrupt() 2007-04-24 08:23:09 -07:00
8250.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
21285.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
68328serial.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
68328serial.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
68360serial.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
amba-pl010.c [ARM] Fix AMBA serial drivers for non-first serial ports 2007-01-24 11:59:57 +00:00
amba-pl011.c [ARM] Fix AMBA serial drivers for non-first serial ports 2007-01-24 11:59:57 +00:00
atmel_serial.c Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-02-19 13:18:39 -08:00
atmel_serial.h [ARM] 4086/1: AT91: Whitespace cleanup 2007-01-24 11:59:55 +00:00
clps711x.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
crisv10.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
crisv10.h [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
dz.c [PATCH] dz: remove struct pt_regs references 2007-03-05 07:57:51 -08:00
dz.h [PATCH] dz: Fixes to make it work 2006-12-07 08:39:41 -08:00
icom.c Char: icom, mark __init as __devinit 2007-04-24 08:23:09 -07:00
icom.h do not truncate irq number for icom adapter 2007-04-24 08:23:08 -07:00
imx.c [ARM] i.MX serial: fix IRQ allocation 2007-02-11 16:46:23 +00:00
ioc3_serial.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
ioc4_serial.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
ip22zilog.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ip22zilog.h
Kconfig Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-02-19 13:18:39 -08:00
m32r_sio_reg.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
m32r_sio.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
m32r_sio.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Makefile [PATCH] PNX8550 UART driver 2007-02-14 08:09:52 -08:00
mcfserial.c [PATCH] m68knommu: fix work queues in mcfserial.c driver 2007-03-06 18:08:38 -08:00
mcfserial.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mpc52xx_uart.c [POWERPC] Dispose irq mapping when done in mpc52xx_serial.c 2007-02-17 18:20:18 +11:00
mpsc.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
mux.c Merge branch 'parisc' from /home/kyle/repos/parisc-2.6.git 2007-02-17 00:18:23 -05:00
netx-serial.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
of_serial.c [POWERPC] Open Firmware serial port driver 2007-02-14 11:50:04 +11:00
pmac_zilog.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
pmac_zilog.h [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
pnx8xxx_uart.c [PATCH] PNX8550 UART driver 2007-02-14 08:09:52 -08:00
pxa.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
s3c2410.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
sa1100.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
serial_core.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
serial_cs.c serial: Add PCMCIA IDs for Quatech DSP-100 dual RS232 adapter. 2007-02-16 15:19:16 -08:00
serial_lh7a40x.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
serial_txx9.c [SERIAL] serial_txx9 driver update 2007-02-22 00:50:45 +00:00
sh-sci.c serial: Fix sh-sci break interrupt/sysrq handling. 2007-03-14 13:22:37 +09:00
sh-sci.h sh: SH-MobileR SH7722 CPU support. 2006-12-12 08:42:09 +09:00
sn_console.c [PATCH] 2.6 Altix: console fix for CONFIG_DEBUG_SHIRQ usage 2007-03-08 07:39:15 -08:00
suncore.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
suncore.h
sunhv.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
sunsab.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sunsab.h
sunsu.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sunzilog.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sunzilog.h
uartlite.c [PATCH] drivers/serial NULL noise removal 2007-02-09 09:14:06 -08:00
v850e_uart.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
vr41xx_siu.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00