fix yenta unload oops
PATCH 1/1 fix yenta unload oops
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 =====
drivers/pcmcia/yenta.c +3 -1
@@ -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
Quoted 1 line · Daniel Ritz
rmmod yenta produces the following oops:
Thanks, it's now in my outgoing queue.
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html