linux/drivers/serial
Breno Leitao 137ee2f5d1 jsm: fixing error if the driver fails to load
Currently if the driver fails to register on port, the kernel
crashes with the following stack:

cpu 0x1: Vector: 300 (Data Access) at [c0000000e0303090]
    pc: c00000000039aa74: .__mutex_lock_slowpath+0x44/0x10c
    lr: c00000000039aa58: .__mutex_lock_slowpath+0x28/0x10c
[c0000000e03033c0] c00000000026b074 .uart_remove_one_port+0xbc/0x16c
[c0000000e0303460] d0000000000e0554 .jsm_remove_uart_port+0x8c/0x10c [jsm]
[c0000000e03034f0] d0000000000dc034 .jsm_remove_one+0x34/0x108 [jsm]
[c0000000e0303590] c0000000001f4aa0 .pci_device_remove+0x48/0x74
...

This patch just fixes the code flow to abort the load when an
error is detected.

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-02 14:43:24 -08:00
..
cpm_uart Fix build of cpm_uart due to core changes 2009-09-24 17:01:22 +10:00
jsm jsm: fixing error if the driver fails to load 2010-03-02 14:43:24 -08:00
8250.c serial: copy UART properties of UPF_FIXED_TYPE ports provisioned using early_serial_setup 2010-03-02 14:43:07 -08:00
8250.h serial: 8250: add IRQ trigger support 2009-09-19 13:13:19 -07:00
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 serial: add support for Korenix JetCard 2010-03-02 14:43:10 -08:00
8250_pnp.c serial: 8250_pnp: use wildcard for serial Wacom tablets 2010-01-20 15:03:27 -08:00
21285.c ARM: 5874/1: serial21285: fix disable_irq-from-interrupt-handler deadlock 2010-01-11 15:39:21 +00:00
68328serial.c serial: 68328serial.c: remove BAUD_TABLE_SIZE macro 2010-03-02 14:43:07 -08:00
68328serial.h
68360serial.c
amba-pl010.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
amba-pl011.c ARM: 5933/1: amba-pl011: support hardware flow control 2010-02-18 17:29:42 +00:00
apbuart.c apbuart: Use of_find_node_by_path to find root node. 2009-11-13 13:25:06 -08:00
apbuart.h sparc: Support for GRLIB APBUART serial port 2009-11-04 08:44:54 -08:00
atmel_serial.c serial: atmel_serial: add poll_get_char and poll_put_char uart_ops 2010-03-02 14:43:08 -08: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: pull in linux/io.h for ioremap prototypes 2010-03-02 14:43:18 -08:00
bfin_sport_uart.c serial: fit blackfin uart over sport driver into common uart infrastructure 2010-03-02 14:43:06 -08:00
bfin_sport_uart.h serial: fit blackfin uart over sport driver into common uart infrastructure 2010-03-02 14:43:06 -08:00
clps711x.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
crisv10.c
crisv10.h
dz.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
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: fix NULL dereference Oops when pdata == NULL 2010-03-02 14:43:10 -08:00
ioc3_serial.c tty: Fix up char drivers request_room usage 2010-03-02 14:43:22 -08:00
ioc4_serial.c ioc3/ioc4: fix error path on driver registration 2009-12-15 08:53:27 -08:00
ip22zilog.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
ip22zilog.h
Kconfig serial: timberdale: Remove dependancies 2010-03-02 14:43:21 -08:00
kgdboc.c
m32r_sio.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
m32r_sio.h
m32r_sio_reg.h
Makefile sparc: Support for GRLIB APBUART serial port 2009-11-04 08:44:54 -08:00
max3100.c spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
mcf.c m68knommu: move mcf_remove to .devexit.text 2009-12-04 11:45:30 +10:00
mpc52xx_uart.c serial: mpc52xx_uart: re-enable mpc5121 PSC UART support 2010-02-16 22:30:03 -07:00
mpsc.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
msm_serial.c serial: fix test of unsigned 2010-03-02 14:43:11 -08:00
msm_serial.h
mux.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
netx-serial.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
nwpserial.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
of_serial.c tty/of_serial: add missing ns16550a id 2009-11-30 16:38:44 -08:00
pmac_zilog.c pmac-zilog: add platform driver 2010-02-27 18:31:02 +01:00
pmac_zilog.h pmac-zilog: add platform driver 2010-02-27 18:31:02 +01:00
pnx8xxx_uart.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
pxa.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
s3c24a0.c ARM: S3C: Update Simtec copyright statements from , to - [2] 2009-12-01 01:33:51 +00:00
s3c2400.c
s3c2410.c ARM: S3C: Update Simtec copyright statements from , to - [2] 2009-12-01 01:33:51 +00:00
s3c2412.c ARM: S3C: Update Simtec copyright statements from , to - [2] 2009-12-01 01:33:51 +00:00
s3c2440.c ARM: S3C: Update Simtec copyright statements from , to - [2] 2009-12-01 01:33:51 +00:00
s3c6400.c
sa1100.c ARM: Fix SA1100 Neponset serial section mismatch 2009-09-28 18:06:16 +01:00
samsung.c ARM: S3C: Update Simtec copyright statements from , to - [2] 2009-12-01 01:33:51 +00:00
samsung.h ARM: S3C: Update Simtec copyright statements from , to - [2] 2009-12-01 01:33:51 +00:00
sb1250-duart.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
sc26xx.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
serial_core.c serial: Fix crash if the minimum rate of the device is > 9600 baud 2010-01-20 15:03:29 -08:00
serial_cs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-02-27 16:18:30 -08:00
serial_ks8695.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
serial_lh7a40x.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
serial_txx9.c serial_txx9: use container_of() instead of direct cast 2009-10-01 16:11:15 -07:00
sh-sci.c serial: sh-sci: using correct fifo size for SCIF and SCIFA ports. 2010-01-15 08:33:20 +09:00
sh-sci.h serial: sh-sci: remove SCIF code in sci_rxd_in() 2010-02-08 11:47:44 +09:00
sn_console.c serial: kill off uart_info 2009-09-19 13:13:28 -07:00
suncore.c serial: suncore: Fix RSC/LOM handling in sunserial_console_termios(). 2009-11-24 14:09:56 -08:00
suncore.h serial: suncore: Fix RSC/LOM handling in sunserial_console_termios(). 2009-11-24 14:09:56 -08:00
sunhv.c serial: suncore: Fix RSC/LOM handling in sunserial_console_termios(). 2009-11-24 14:09:56 -08:00
sunsab.c serial: suncore: Fix RSC/LOM handling in sunserial_console_termios(). 2009-11-24 14:09:56 -08:00
sunsab.h
sunsu.c sunsu: Use sunserial_console_termios() in sunsu_console_setup(). 2009-11-24 14:12:50 -08:00
sunzilog.c serial: suncore: Fix RSC/LOM handling in sunserial_console_termios(). 2009-11-24 14:09:56 -08:00
sunzilog.h
timbuart.c serial: fix test of unsigned 2010-03-02 14:43:11 -08:00
timbuart.h
uartlite.c uartlite: fix crash when using as console 2010-02-02 18:11:22 -08:00
ucc_uart.c firmware_class: make request_firmware_nowait more useful 2009-12-11 11:24:52 -08:00
vr41xx_siu.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
zs.c serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
zs.h