Crash when unloading yenta_socket in Linux 2.5.69
Pavel Roskin
proski at gnu.org
Mon May 5 03:17:25 BST 2003
Hello!
Linux 2.5.69 crashes if I insert module "yenta_socket" and then remove it.
The backtrace is attached.
Debugging shows that the crash happens at the following statement in
yenta_config_init():
exca_writeb(socket, I365_GBLCTL, 0x00);
That's the first exca_writeb() called in that function.
It seems to me that ether shutdown_socket() should be called earlier in
pcmcia_unregister_socket(), or it should know that the socket is about to
be shut down, so it would avoid unnecessary initialization.
I switched to using CONFIG_HIGHMEM4G recently, maybe that triggers the
problem.
--
Regards,
Pavel Roskin
-------------- next part --------------
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus] [pm]
Yenta IRQ list 0000, PCI irq12
Socket status: 30000010
Unable to handle kernel paging request at virtual address fb34181e
printing eip:
fb348706
*pde = 3642c067
*pte = 00000000
Oops: 0002 [#1]
CPU: 0
EIP: 0060:[<fb348706>] Not tainted
EFLAGS: 00010212
EIP is at yenta_config_init+0x196/0x1f0 [yenta_socket]
eax: fb34181e ebx: fb34a880 ecx: 8000503c edx: 00000cfe
esi: c1aedc00 edi: fb35e820 ebp: f6091dec esp: f6091dd0
ds: 007b es: 007b ss: 0068
Process rmmod (pid: 2533, threadinfo=f6090000 task=f62becc0)
Stack: fb34181e fb34937c 00000076 00000500 05c01e74 fb34a880 00000000 f6091e04
fb348774 fb34a880 f6091e2c 00000286 fb34a880 f6091e24 fb348ed2 fb34a880
c01776df f7122b24 c1bffe10 00000286 f7768a00 f6091e30 fb347032 fb34a880
Call Trace:
[<fb34937c>] +0x8/0x4c [yenta_socket]
[<fb34a880>] +0x0/0x840 [yenta_socket]
[<fb348774>] yenta_init+0x14/0x50 [yenta_socket]
[<fb34a880>] +0x0/0x840 [yenta_socket]
[<fb34a880>] +0x0/0x840 [yenta_socket]
[<fb348ed2>] ti1250_init+0x12/0xc0 [yenta_socket]
[<fb34a880>] +0x0/0x840 [yenta_socket]
[<c01776df>] remove_proc_entry+0xaf/0x110
[<fb347032>] +0x32/0x40 [yenta_socket]
[<fb34a880>] +0x0/0x840 [yenta_socket]
[<fb3562ec>] init_socket+0x2c/0x30 [pcmcia_core]
[<fb356667>] shutdown_socket+0x17/0xf0 [pcmcia_core]
[<fb35650a>] pcmcia_unregister_socket+0x6a/0x140 [pcmcia_core]
[<fb34a904>] +0x84/0x840 [yenta_socket]
[<fb35e884>] pcmcia_socket+0x0/0x3c [pcmcia_core]
[<fb34a914>] +0x94/0x840 [yenta_socket]
[<fb35e820>] pcmcia_socket_class+0x0/0x64 [pcmcia_core]
[<c023050f>] class_device_del+0xcf/0xe0
[<fb34a914>] +0x94/0x840 [yenta_socket]
[<fb35e878>] pcmcia_socket_class+0x58/0x64 [pcmcia_core]
[<fb35e864>] pcmcia_socket_class+0x44/0x64 [pcmcia_core]
[<fb34a914>] +0x94/0x840 [yenta_socket]
[<fb34a4a8>] pci_cardbus_driver+0x28/0xa0 [yenta_socket]
[<c0230534>] class_device_unregister+0x14/0x20
[<fb34a914>] +0x94/0x840 [yenta_socket]
[<fb34a880>] +0x0/0x840 [yenta_socket]
[<fb3473d4>] cardbus_remove+0x34/0x50 [yenta_socket]
[<fb34a914>] +0x94/0x840 [yenta_socket]
[<fb34a4a8>] pci_cardbus_driver+0x28/0xa0 [yenta_socket]
[<c01d8e06>] pci_device_remove+0x36/0x40
[<c022f7ce>] device_release_driver+0x5e/0x60
[<fb34a4ec>] pci_cardbus_driver+0x6c/0xa0 [yenta_socket]
[<fb34a4ec>] pci_cardbus_driver+0x6c/0xa0 [yenta_socket]
[<c022f7f2>] driver_detach+0x22/0x40
[<c022fac5>] bus_remove_driver+0x55/0x90
[<fb34a4a8>] pci_cardbus_driver+0x28/0xa0 [yenta_socket]
[<fb34a4b0>] pci_cardbus_driver+0x30/0xa0 [yenta_socket]
[<fb34a4a8>] pci_cardbus_driver+0x28/0xa0 [yenta_socket]
[<fb34a740>] +0x0/0x140 [yenta_socket]
[<c022fefa>] driver_unregister+0x1a/0x42
[<fb34a4a8>] pci_cardbus_driver+0x28/0xa0 [yenta_socket]
[<c014045f>] unmap_vma_list+0x1f/0x30
[<fb349372>] +0x12/0x14 [yenta_socket]
[<fb34a4a8>] pci_cardbus_driver+0x28/0xa0 [yenta_socket]
[<c012d8f6>] sys_delete_module+0x1d6/0x240
[<c01408a7>] sys_munmap+0x57/0x80
[<c0109289>] sysenter_past_esp+0x52/0x71
Code: c6 00 00 c7 44 24 04 7c 93 34 fb c7 44 24 08 76 00 00 00 8b
More information about the linux-pcmcia
mailing list