[PATCH 2.5] fix yenta unload oops

Daniel Ritz daniel.ritz at gmx.ch
Sat Jun 14 22:12:42 BST 2003


hi

rmmod yenta produces the following oops:
Unable to handle kernel paging request at virtual address d084781e
 printing eip:
d08a555f
*pde = 013f1067
*pte = 00000000
Oops: 0002 [#1]
CPU:    0
EIP:    0060:[<d08a555f>]    Not tainted
EFLAGS: 00010212
EIP is at yenta_config_init+0x18f/0x1e0 [yenta]
eax: d084781e   ebx: cfe16d08   ecx: c030d508   edx: 00000cfe
esi: cef0d154   edi: c3236000   ebp: c3237f2c   esp: c3237f10
ds: 007b   es: 007b   ss: 0068
Process pccardd (pid: 2618, threadinfo=c3236000 task=c988ae60)
Stack: d084781e d08a63b6 00000079 00000500 05800000 cef0d154 cef0d21c c3237f44
       d08a55ca cef0d154 c0134970 c988ae60 cef0d21c c3237f50 d08b3d1a cef0d21c
       c3237f68 d08b4657 cef0d21c d08b489b 00000000 cef0d21c c3237fec d08b4fe6
Call Trace:
 [<d08a63b6>] +0x0/0x6a [yenta]
 [<d08a55ca>] yenta_init+0x1a/0x50 [yenta]
 [<c0134970>] process_timeout+0x0/0x10
 [<d08b3d1a>] init_socket+0x2a/0x30 [pcmcia_core]
 [<d08b4657>] shutdown_socket+0x17/0x100 [pcmcia_core]
 [<d08b489b>] socket_shutdown+0x4b/0x60 [pcmcia_core]
 [<d08b4fe6>] pccardd+0x346/0x360 [pcmcia_core]
 [<c0122e70>] default_wake_function+0x0/0x30
 [<c010c092>] ret_from_fork+0x6/0x14
 [<c0122e70>] default_wake_function+0x0/0x30
 [<d08b4ca0>] pccardd+0x0/0x360 [pcmcia_core]

the attached patch fixes this. against 2.5.70-bk.

rgds
-daniel


===== drivers/pcmcia/yenta.c 1.23 vs edited =====
--- 1.23/drivers/pcmcia/yenta.c	Wed Jun 11 23:52:43 2003
+++ edited/drivers/pcmcia/yenta.c	Sat Jun 14 19:37:24 2003
@@ -764,6 +764,9 @@
 {
 	struct yenta_socket *sock = pci_get_drvdata(dev);
 
+	/* we don't want a dying socket registered */
+	pcmcia_unregister_socket(&sock->socket);
+	
 	/* Disable all events so we don't die in an IRQ storm */
 	cb_writel(sock, CB_SOCKET_MASK, 0x0);
 	exca_writeb(sock, I365_CSCINT, 0);
@@ -777,7 +780,6 @@
 		iounmap(sock->base);
 	yenta_free_resources(sock);
 
-	pcmcia_unregister_socket(&sock->socket);
 	pci_set_drvdata(dev, NULL);
 }
 

 [<c010937d>] kernel_thread_helper+0x5/0x18

Code: c6 00 00 c7 44 24 08 79 00 00 00 c7 44 24 04 b6 63 8a d0 8b






More information about the linux-pcmcia mailing list