Hello, this is my first kernel bug report, but since many kernel releases ( at least >= 2.4.17 ) I fall on same the bug, so I've decided to report this now :-) Please, could I be personally CC'ed the answers/comments posted to the list in response to my posting. Thanx :-) [1.] One line summary of the problem: Oops when unloading usb-uhci module [2.] Full description of the problem/report: Actually, I'm using an ECI USB ADSL modem (a Globescan based-model) to connect to internet, that requires to run (usermode) programs (see X. section) to be recognized by the kernel (because there is no kernel support yet). The only thing is, when I lose synchro or ppp connection, I have to restart my modem by unloading and reloading usb-uhci first, and run the usermode programs then again. And that's where it "oops" (while unloading usb-uhci):-( NB: After the first oops, when I try "insmod usb-uhci", it oops again. But at this point, it's probably normal :-) [3.] Keywords: modules, usb, kernel [4.] Kernel version (from /proc/version): 2.4.19-8mdk (gcc version 3.2 (Mandrake Linux 9.0 3.2-1mdk)) [5.] Output of Oops.. message (if applicable) with symbolic information resolved (see Documentation/oops-tracing.txt) ksymoops 2.4.5 on i686 2.4.19-8mdk. Options used -V (default) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.4.19-8mdk/ (default) -m /boot/System.map-2.4.19-8mdk (default) *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[] Tainted: P Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00010002 eax: 00000000 ebx: 1268e200 ecx: 00000000 edx: 1268e200 esi: 00000202 edi: 1268e200 ebp: d277de94 esp: d277de70 ds: 0018 es: 0018 ss: 0018 Process pppoeci (pid: 2482, stackpage=d277d000) Stack: d2634420 00000000 c01b72f4 00000000 1268e200 d7e14b60 d2634420 d7e14b60 d7e14b60 d277dea8 dabce88a 00000000 d268e200 1268e200 d277dec0 dabcf645 d7e14b60 d268e200 00000246 d48cee1c d277dee0 dabcfab4 d7e14b60 d2634420 Call Trace: [] [] [] [] [] [] [] [] [] [] [] [] [] [] Code: 8b 01 39 c8 74 14 8b 50 0c 39 d3 72 07 03 51 18 39 d3 72 08 <6>usb.c: USB bus 2 deregistered kmem_cache_destroy: Can't free all objects c142ea08 usb-uhci.c: urb_priv_kmem remained >>EIP; c01b72bd <===== >>ebx; 1268e200 Before first symbol >>edx; 1268e200 Before first symbol >>edi; 1268e200 Before first symbol >>ebp; d277de94 <_end+1248647c/1a520648> >>esp; d277de70 <_end+12486458/1a520648> Trace; c01b72f4 Trace; dabce88a <[usbcore].bss.end+260b/8de1> Trace; dabcf645 <[usbcore].bss.end+33c6/8de1> Trace; dabcfab4 <[usbcore].bss.end+3835/8de1> Trace; dabcfcc6 <[usbcore].bss.end+3a47/8de1> Trace; dabbf26f <[usbcore]usb_unlink_urb+2f/40> Trace; dabc3600 <[usbcore]destroy_all_async+70/80> Trace; dabc3a7a <[usbcore]usbdev_release+4a/70> Trace; c013adf2 Trace; c01397c8 Trace; c011e447 Trace; c011ea25 Trace; c011ebe1 Trace; c0108fe3 Code; c01b72bd 00000000 <_EIP>: Code; c01b72bd <===== 0: 8b 01 mov (%ecx),%eax <===== Code; c01b72bf 2: 39 c8 cmp %ecx,%eax Code; c01b72c1 4: 74 14 je 1a <_EIP+0x1a> c01b72d7 Code; c01b72c3 6: 8b 50 0c mov 0xc(%eax),%edx Code; c01b72c6 9: 39 d3 cmp %edx,%ebx Code; c01b72c8 b: 72 07 jb 14 <_EIP+0x14> c01b72d1 Code; c01b72ca d: 03 51 18 add 0x18(%ecx),%edx Code; c01b72cd 10: 39 d3 cmp %edx,%ebx Code; c01b72cf 12: 72 08 jb 1c <_EIP+0x1c> c01b72d9 [6.] A small shell script or example program which triggers the problem (if possible) On my PC, I can easily reproduce the oops this way: $ /sbin/modprobe usb-uhci $ # Next 2 progs are from eciadsl-usermode_0.5.tgz $ /usr/local/bin/eci-load1 /etc/eciadsl/eci_firm_kit_wanadoo.bin >log1.txt 2>&1 $ /usr/local/bin/eci-load2 /etc/eciadsl/eci_wan3.dmt.bin >log2.txt 2>&1 $ # Call to my script "/etc/ppp/peers/adsl" $ /usr/sbin/pppd call adsl $ # Wait some time ... $ sleep 5 $ kill -TERM `pidof pppd` $ # And that's where it should "oops" $ /sbin/modprobe -r usb-uhci Sometimes, I have to re-run this script 2 or 3 times before it "oops" really ... [7.1.] Software (add the output of the ver_linux script here) Linux phoenix.home 2.4.19-8mdk #1 Sat Aug 31 00:49:47 CEST 2002 i686 unknown unknown GNU/Linux Gnu C 3.2 Gnu make 3.79.1 util-linux 2.11u mount 2.11u modutils 2.4.19 e2fsprogs 1.27ea reiserfsprogs 3.6.3 PPP 2.4.1 Linux C Library 2.2.5 Dynamic linker (ldd) 2.2.5 Procps 2.0.7 Net-tools 1.60 Console-tools 0.2.3 Sh-utils 2.0.15 Modules Loaded n_hdlc ppp_synctty lp parport_pc parport sr_mod floppy ppp_async ppp_generic slhc agpgart NVdriver emu10k1 ac97_codec sound soundcore nfsd lockd sunrpc ipchains usb-uhci usbcore af_packet ne 8390 nls_iso8859-15 nls_cp850 vfat fat ide-cd cdrom ide-scsi scsi_mod rtc reiserfs [7.2.] Processor information (from /proc/cpuinfo): processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 1 model name : AMD-K7(tm) Processor stepping : 2 cpu MHz : 704.954 cache size : 512 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat mmx syscall mmxext 3dnowext 3dnow bogomips : 1405.74 [7.3.] Module information (from /proc/modules): usb-uhci 21676 0 (unused) ppp_async 7456 0 (autoclean) (unused) ppp_generic 20064 0 (autoclean) [ppp_async] slhc 5072 0 (autoclean) [ppp_generic] agpgart 31840 3 (autoclean) lp 6720 0 parport_pc 21672 1 parport 23936 1 [lp parport_pc] NVdriver 989312 10 (autoclean) emu10k1 56172 0 ac97_codec 9928 0 [emu10k1] sound 55732 0 [emu10k1] soundcore 3780 0 [emu10k1 sound] nfsd 66448 0 (autoclean) lockd 46480 0 (autoclean) [nfsd] sunrpc 60188 0 (autoclean) [nfsd lockd] ipchains 39656 0 (unused) usbcore 57984 1 [usb-uhci] af_packet 13000 0 (autoclean) ne 6544 1 (autoclean) 8390 6192 0 (autoclean) [ne] nls_iso8859-15 3356 9 (autoclean) nls_cp850 3580 9 (autoclean) vfat 9556 9 (autoclean) fat 31864 0 (autoclean) [vfat] ide-cd 28744 0 cdrom 26848 0 [ide-cd] ide-scsi 8180 0 scsi_mod 90436 1 [ide-scsi] rtc 6560 0 (autoclean) reiserfs 169776 3 [7.4.] SCSI information (from /proc/scsi/scsi) Attached devices: Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: YAMAHA Model: CRW3200E Rev: 1.0d Type: CD-ROM ANSI SCSI revision: 02 [X.] Other notes, patches, fixes, workarounds: The tar that adds ECI modem support can be found under http://prdownloads.sourceforge.net/eciadsl/eciadsl-usermode_0.5.tgz In addition it includes all needed stuff to start an internet connection through pppd. ______________________________________________________ Boîte aux lettres - Caramail - http://www.caramail.com