mirror of
https://github.com/torvalds/linux.git
synced 2026-07-21 13:09:19 +02:00
With 2.6.30-rc1 on SMDK6410 I experience a soft lockup on bootup when the Samsung serial driver attempts to disable the transmit interrupt from within the transmit interrupt handler: it calls disable_irq() which locks up due to attempting to synchronise with the running handler. Fix this by using disable_irq_nosync(). Also make the same change in the recieve path. Backtrace: [<c002a914>] (__irq_svc+0x34/0x80) from [<c00696c0>] (synchr) [<c00696c0>] (synchronize_irq+0xc/0xcc) from [<c018d434>] (s) [<c018d434>] (s3c24xx_serial_stop_tx+0x1c/0x3c) from [<c018d) [<c018d54c>] (s3c24xx_serial_tx_chars+0xf8/0x104) from [<c00) [<c0068bcc>] (handle_IRQ_event+0x74/0x118) from [<c006ab04>]) [<c006ab04>] (handle_level_irq+0x100/0x118) from [<c00349c4>) [<c00349c4>] (s3c_irq_demux_uart+0x94/0xc4) from [<c002a050>) [<c002a050>] (_text+0x50/0x6c) from [<c002a914>] (__irq_svc+) Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> |
||
|---|---|---|
| .. | ||
| cpm_uart | ||
| jsm | ||
| 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 | ||
| 8250_pnp.c | ||
| 8250.c | ||
| 8250.h | ||
| 21285.c | ||
| 68328serial.c | ||
| 68328serial.h | ||
| 68360serial.c | ||
| amba-pl010.c | ||
| amba-pl011.c | ||
| atmel_serial.c | ||
| bfin_5xx.c | ||
| bfin_sport_uart.c | ||
| bfin_sport_uart.h | ||
| clps711x.c | ||
| crisv10.c | ||
| crisv10.h | ||
| dz.c | ||
| dz.h | ||
| icom.c | ||
| icom.h | ||
| imx.c | ||
| ioc3_serial.c | ||
| ioc4_serial.c | ||
| ip22zilog.c | ||
| ip22zilog.h | ||
| Kconfig | ||
| kgdboc.c | ||
| m32r_sio_reg.h | ||
| m32r_sio.c | ||
| m32r_sio.h | ||
| Makefile | ||
| max3100.c | ||
| mcf.c | ||
| mpc52xx_uart.c | ||
| mpsc.c | ||
| mux.c | ||
| netx-serial.c | ||
| nwpserial.c | ||
| of_serial.c | ||
| pmac_zilog.c | ||
| pmac_zilog.h | ||
| pnx8xxx_uart.c | ||
| pxa.c | ||
| s3c24a0.c | ||
| s3c2400.c | ||
| s3c2410.c | ||
| s3c2412.c | ||
| s3c2440.c | ||
| s3c6400.c | ||
| sa1100.c | ||
| samsung.c | ||
| samsung.h | ||
| sb1250-duart.c | ||
| sc26xx.c | ||
| serial_core.c | ||
| serial_cs.c | ||
| serial_ks8695.c | ||
| serial_lh7a40x.c | ||
| serial_txx9.c | ||
| sh-sci.c | ||
| sh-sci.h | ||
| sn_console.c | ||
| suncore.c | ||
| suncore.h | ||
| sunhv.c | ||
| sunsab.c | ||
| sunsab.h | ||
| sunsu.c | ||
| sunzilog.c | ||
| sunzilog.h | ||
| uartlite.c | ||
| ucc_uart.c | ||
| vr41xx_siu.c | ||
| zs.c | ||
| zs.h | ||