OpenCloudOS-Kernel/drivers/serial
Breno Leitao 95caa0a9bd icom: fix rmmod crash
Actually the icom driver is crashing when is being removed because
the driver is kfreeing the adapter structure before calling
pci_release_regions(), which result in the following error:

  Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6b6d33
  Faulting instruction address: 0xc000000000246b80
  Oops: Kernel access of bad area, sig: 11 [#1]
  ....
  [c000000012d436a0] [c0000000001002d0] .kfree+0x120/0x34c (unreliable)
  [c000000012d43730] [c000000000246d60] .pci_release_selected_regions+0x3c/0x68
  [c000000012d437c0] [d000000002d54700] .icom_kref_release+0xf4/0x118 [icom]
  [c000000012d43850] [c000000000232e50] .kref_put+0x74/0x94
  [c000000012d438d0] [d000000002d56c58] .icom_remove+0x40/0xa4 [icom]
  [c000000012d43960] [c000000000249e48] .pci_device_remove+0x50/0x90
  [c000000012d439e0] [c0000000002d68d8] .__device_release_driver+0x94/0xd4
  [c000000012d43a70] [c0000000002d7104] .driver_detach+0xf8/0x12c
  [c000000012d43b00] [c0000000002d549c] .bus_remove_driver+0xbc/0x11c
  [c000000012d43b90] [c0000000002d71dc] .driver_unregister+0x60/0x80
  [c000000012d43c20] [c00000000024a07c] .pci_unregister_driver+0x44/0xe8
  [c000000012d43cb0] [d000000002d56bf4] .icom_exit+0x1c/0x40 [icom]
  [c000000012d43d30] [c000000000095fa8] .SyS_delete_module+0x214/0x2a8
  [c000000012d43e30] [c00000000000852c] syscall_exit+0x0/0x40

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Cc: stable@kernel.org
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-22 21:47:52 -07:00
..
cpm_uart cpm_uart: Disable CPM udbg when re-initing CPM uart, even if not the console. 2009-04-06 09:09:33 -05:00
jsm jsm: removing unused spinlock 2009-05-06 14:47:13 -07:00
8250.c 8250: fix boot hang with serial console when using with Serial Over Lan port 2009-02-20 17:57:50 -08:00
8250.h 8250: improve workaround for UARTs that don't re-assert THRE correctly 2008-09-02 19:21:38 -07:00
8250_accent.c
8250_acorn.c
8250_boca.c
8250_early.c 8250: switch 8250 drivers to use _nocache ioremaps 2008-05-01 08:04:00 -07:00
8250_exar_st16c554.c
8250_fourport.c
8250_gsc.c make probe_serial_gsc() static 2008-10-20 08:52:36 -07:00
8250_hp300.c 8250_hp300: coding style 2008-02-08 09:22:25 -08:00
8250_hub6.c 8250_hub6: codding style 2008-02-08 09:22:25 -08:00
8250_mca.c
8250_pci.c serial: remove contact data 2009-04-24 07:52:08 -07:00
8250_pnp.c serial: Update PNP IDs 2009-04-06 14:36:26 -07:00
21285.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
68328serial.c serial, 8250: remove NR_IRQ usage 2008-10-16 16:52:02 +02:00
68328serial.h
68360serial.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
Kconfig Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze 2009-04-13 08:17:52 -07:00
Makefile Add support for the MAX3100 SPI UART. 2009-04-07 08:44:05 -07:00
amba-pl010.c [ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void * 2009-05-20 23:26:51 +01:00
amba-pl011.c [ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void * 2009-05-20 23:26:51 +01:00
atmel_serial.c avr32: add hardware handshake support to atmel_serial 2009-04-01 16:13:51 +02:00
bfin_5xx.c bfin_5xx: misplaced parentheses 2009-04-21 13:41:51 -07:00
bfin_sport_uart.c __FUNCTION__ is gcc-specific, use __func__ 2009-01-02 10:19:42 -08:00
bfin_sport_uart.h Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART 2008-04-30 08:29:30 -07:00
clps711x.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
crisv10.c CRISv10: fix serial driver proc-usage 2009-05-02 15:36:09 -07:00
crisv10.h tty: Use the generic RS485 ioctl on CRIS 2009-04-07 08:44:05 -07:00
dz.c serial: DZ11: avoid a hang at console switch-over 2008-07-24 10:47:29 -07:00
dz.h dz: clean up and improve the setup of termios settings 2008-02-07 08:42:24 -08:00
icom.c icom: fix rmmod crash 2009-05-22 21:47:52 -07:00
icom.h Coding style fix drivers/serial/icom.h 2008-02-03 14:47:38 +02:00
imx.c [ARM] MXC: remove _clk suffix from clock names 2009-03-13 10:33:48 +01:00
ioc3_serial.c [IA64] Fix section mismatch ioc3uart_init()/ioc3uart_submodule 2008-12-09 10:08:51 -08:00
ioc4_serial.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
ip22zilog.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
ip22zilog.h
kgdboc.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
m32r_sio.c drivers/serial: use nr_irqs 2008-10-16 16:52:06 +02:00
m32r_sio.h
m32r_sio_reg.h
max3100.c tty: MAX3100 2009-04-08 14:33:38 -07:00
mcf.c m68knommu: Fix support for console port other than ttyS0 on mcf.c 2009-03-24 15:17:43 +10:00
mpc52xx_uart.c powerpc/5200: Don't specify IRQF_SHARED in PSC UART driver 2009-02-04 11:23:56 -07:00
mpsc.c kgdb: kgdboc console poll hooks for mpsc uart 2008-07-23 11:30:16 -05:00
mux.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
netx-serial.c [ARM] build fixes for netX serial driver 2008-10-30 09:41:59 +01:00
nwpserial.c serial/nwpserial: Fix wrong register read address and add interrupt acknowledge. 2009-05-15 16:43:42 +10:00
of_serial.c serial: Add 16850 uart type support to OF uart driver 2009-01-16 16:15:17 +11:00
pmac_zilog.c powerpc/pmac: Fix internal modem IRQ on Wallstreet PowerBook 2009-04-07 15:07:43 +10:00
pmac_zilog.h
pnx8xxx_uart.c When a break signal is detected, the next character should be ignored. 2009-01-15 12:48:36 -08:00
pxa.c [ARM] pxa: remove machine class specific stuffs from serial driver 2009-03-09 21:22:38 +08:00
s3c24a0.c [ARM] S3C24A0: Serial port definitions and driver support. 2008-12-15 21:46:36 +00:00
s3c2400.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
s3c2410.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
s3c2412.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
s3c2440.c drivers/serial/s3c2440.c: fix typo in MODULE_LICENSE 2008-12-10 08:01:53 -08:00
s3c6400.c [ARM] S3C: Add UDIVSLOT support for newer UARTS 2009-05-01 12:28:16 +01:00
sa1100.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
samsung.c [ARM] S3C: Add UDIVSLOT support for newer UARTS 2009-05-01 12:28:16 +01:00
samsung.h [ARM] S3C: Add UDIVSLOT support for newer UARTS 2009-05-01 12:28:16 +01:00
sb1250-duart.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
sc26xx.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
serial_core.c serial: fixup /proc/tty/driver/serial after proc_fops conversion 2009-04-01 14:50:48 -07:00
serial_cs.c pcmcia: remove unused argument to pcmcia_parse_tuple() 2008-08-31 15:50:33 +02:00
serial_ks8695.c [ARM] 5250/1: unbalanced enable_irq() for serial_ks8695.c fix 2008-10-01 22:41:43 +01:00
serial_lh7a40x.c [ARM] lh7a40x: avoid polluting the kernel's namespace 2008-11-28 16:39:04 +00:00
serial_txx9.c serial_txx9: use %lx for iobase 2008-10-20 08:50:24 -07:00
sh-sci.c sh: Add support for SH7786 CPU subtype. 2009-03-03 15:40:25 +09:00
sh-sci.h sh: Add support for SH7786 CPU subtype. 2009-03-03 15:40:25 +09:00
sn_console.c Altix serial: fix 2008-10-20 08:52:36 -07:00
suncore.c [SERIAL]: Fix section mismatches in Sun serial console drivers. 2007-12-29 01:19:49 -08:00
suncore.h [SERIAL] sparc: Infrastructure to fix section mismatch bugs. 2007-12-12 07:36:34 -08:00
sunhv.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunsab.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunsab.h
sunsu.c serial: sunsu: sunsu_kbd_ms_init needs to be __devinit 2009-04-08 03:29:03 -07:00
sunzilog.c serial: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
sunzilog.h
uartlite.c powerpc/virtex: fix various format/casting printk mismatches 2008-11-14 09:59:48 -07:00
ucc_uart.c ucc: Fix leaky error path 2009-04-06 14:36:32 -07:00
vr41xx_siu.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
zs.c serial: Z85C30: avoid a hang at console switch-over 2008-07-24 10:47:29 -07:00
zs.h