linux/drivers/serial
Tobias Klauser d8d721f4c0 altera_uart: Don't take spinlock in already protected functions
Don't take the port spinlock in uart functions where the serial core
already takes care of locking/unlocking them.

The code would actually lock up on architectures where spinlocks are
implemented (not the case on nios2 where this driver is primarily used
for now, thus this bug didn't trigger).

Also protect calling altera_uart_rx_chars/altera_uart_tx_chars in the
interrupt handler by the port spinlock.

Thanks to Ian Abbott for pointing these issues out.

Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-06-04 13:37:17 -07:00
..
cpm_uart of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
jsm include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
8250_accent.c
8250_acorn.c
8250_boca.c
8250_early.c
8250_exar_st16c554.c
8250_fourport.c
8250_gsc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
8250_hp300.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
8250_hub6.c
8250_mca.c
8250_pci.c serial: add support for Korenix JetCard 2010-03-02 14:43:10 -08:00
8250_pnp.c serial: 8250_pnp - add Fujitsu Wacom device 2010-04-30 09:20:34 -07:00
8250.c kgdb,8250,pl011: Return immediately from console poll 2010-05-20 21:04:22 -05:00
8250.h
21285.c
68328serial.c m68knommu: fix broken use of BUAD_TABLE_SIZE in 68328serial driver 2010-05-25 08:07:02 -07:00
68328serial.h
68360serial.c
altera_jtaguart.c serial: Add driver for the Altera JTAG UART 2010-05-21 09:34:30 -07:00
altera_uart.c altera_uart: Don't take spinlock in already protected functions 2010-06-04 13:37:17 -07:00
amba-pl010.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
amba-pl011.c kgdb,8250,pl011: Return immediately from console poll 2010-05-20 21:04:22 -05:00
apbuart.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
apbuart.h
atmel_serial.c ARM: 6092/1: atmel_serial: support for RS485 communications 2010-05-04 16:59:11 +01:00
bcm63xx_uart.c serial: bcm63xx_uart: allow more than one uart to be registered. 2010-03-02 14:43:19 -08:00
bfin_5xx.c serial: bfin_5xx: fix typo in IER check 2010-06-04 13:37:17 -07:00
bfin_sport_uart.c serial: bfin_sport_uart: Use resource size to fix off-by-one error 2010-05-21 09:34:30 -07:00
bfin_sport_uart.h serial: bfin_sport_uart: add support for CTS/RTS via GPIOs 2010-05-21 09:34:27 -07:00
clps711x.c
crisv10.c
crisv10.h
dz.c
dz.h
icom.c tty: Fix up char drivers request_room usage 2010-03-02 14:43:22 -08:00
icom.h
imx.c serial: imx.c: fix CTS trigger level lower to avoid lost chars 2010-05-13 12:10:56 -07:00
ioc3_serial.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ioc4_serial.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ip22zilog.c
ip22zilog.h
Kconfig serial: Add driver for the Altera UART 2010-05-21 09:34:30 -07:00
kgdboc.c kgdboc: Add ekgdboc for early use of the kernel debugger 2010-05-20 21:04:30 -05:00
m32r_sio_reg.h
m32r_sio.c
m32r_sio.h
Makefile serial: Add driver for the Altera UART 2010-05-21 09:34:30 -07:00
max3100.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mcf.c m68knommu: allow 4 coldfire serial ports 2010-04-21 14:56:00 +10:00
mpc52xx_uart.c Merge remote branch 'origin' into secretlab/next-spi 2010-05-25 00:38:26 -06:00
mpsc.c powerpc/mpsc: Set the port device in the mpsc serial driver 2010-04-07 14:12:36 +10:00
msm_serial.c msm_serial: fix serial on trout 2010-06-04 13:37:16 -07:00
msm_serial.h msm_serial: fix serial on trout 2010-06-04 13:37:16 -07:00
mux.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
netx-serial.c
nwpserial.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
of_serial.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
pmac_zilog.c powerpc/macio: Fix probing of macio devices by using the right of match table 2010-06-02 17:50:38 +10:00
pmac_zilog.h pmac-zilog: add platform driver 2010-02-27 18:31:02 +01:00
pnx8xxx_uart.c
pxa.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
s3c24a0.c
s3c2400.c
s3c2410.c
s3c2412.c
s3c2440.c
s3c6400.c
s5pv210.c ARM: S5PV210: serial: Fix section mismatch warning 2010-05-28 19:40:05 +09:00
sa1100.c
samsung.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
samsung.h
sb1250-duart.c
sc26xx.c
serial_core.c
serial_cs.c serial_cs: add and sort IDs for serial and modem cards 2010-06-04 13:37:16 -07:00
serial_ks8695.c ARM: 6030/1: KS8695: enable console 2010-04-23 10:01:56 +01:00
serial_lh7a40x.c
serial_txx9.c
sh-sci.c sh: fix Oops in the serial SCI driver 2010-05-22 17:06:34 +09:00
sh-sci.h SH: fix SCIFA SCASCR register bit definitions 2010-03-23 13:33:45 +09:00
sn_console.c
suncore.c
suncore.h
sunhv.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
sunsab.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
sunsab.h
sunsu.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
sunzilog.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
sunzilog.h
timbuart.c serial: timbuart: make sure last byte is sent when port is closed 2010-05-21 09:34:29 -07:00
timbuart.h
uartlite.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
ucc_uart.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
vr41xx_siu.c
zs.c
zs.h