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