> OK, I tried it with -mm1 and the second problem I reported (modem_run > complaining about not being able to read interrupts ans exiting) appears > to be gone. > The oops while disconnecting still exists, but it's different. > > May 11 21:18:10 taz kernel: usb 1-1: USB disconnect, address 2 > May 11 21:18:10 taz kernel: Unable to handle kernel NULL pointer > dereference at virtual address 00000000 May 11 21:18:10 taz kernel: > printing eip: > May 11 21:18:10 taz kernel: c02168f4 > May 11 21:18:10 taz kernel: *pde = 00000000 > May 11 21:18:10 taz kernel: ___ ______ > May 11 21:18:10 taz kernel: 0--,| /OOOOOO\ > May 11 21:18:10 taz kernel: {_o / /OO plop OO\ > May 11 21:18:10 taz kernel: \__\_/OO oh dear OOO\s > May 11 21:18:10 taz kernel: \OOOOOOOOOOOOOOOO/ > May 11 21:18:10 taz kernel: __XXX__ __XXX__ > May 11 21:18:10 taz kernel: Oops: 0000 [#1] > May 11 21:18:10 taz kernel: CPU: 0 > May 11 21:18:10 taz kernel: EIP: 0060:[usb_ifnum_to_if+36/64] Not > tainted VLI > May 11 21:18:10 taz kernel: EFLAGS: 00010293 (2.6.6-mm1) > May 11 21:18:10 taz kernel: EIP is at usb_ifnum_to_if+0x24/0x40 > May 11 21:18:10 taz kernel: eax: 00000000 ebx: dd3b7c00 ecx: 00000000 > edx: 00000001 May 11 21:18:10 taz kernel: esi: 00000003 edi: 00000001 > ebp: dd5d5824 esp: ddd91ea8 May 11 21:18:10 taz kernel: ds: 007b es: > 007b ss: 0068 > May 11 21:18:10 taz kernel: Process khubd (pid: 21, threadinfo=ddd91000 > task=ddd676b0) May 11 21:18:10 taz kernel: Stack: dd5d5800 00000000 > 00000001 c021c42a dcce4510 00000282 dcce4510 de8d5c80 > May 11 21:18:10 taz kernel: dd5d5800 de864a6d 00000000 de8d3e60 > ddd4b194 de8d5c80 dd5d5800 dd5d5824 > May 11 21:18:10 taz kernel: c02167c5 ddd4b1a4 de8d5ca0 c01e8fe6 > ddd4b1a4 dd5d58cc c01e90f8 ddd4b1a4 > May 11 21:18:10 taz kernel: Call Trace: > May 11 21:18:10 taz kernel: [usb_set_interface+26/304] > usb_set_interface+0x1a/0x130 May 11 21:18:10 taz kernel: > [pg0+508303981/1069920256] atm_dev_deregister+0xd/0xc0 [atm] May 11 > 21:18:10 taz kernel: [pg0+508759648/1069920256] > udsl_atm_dev_close+0x30/0x50 [speedtch] May 11 21:18:10 taz kernel: > [usb_unbind_interface+69/112] usb_unbind_interface+0x45/0x70 May 11 > 21:18:10 taz kernel: [device_release_driver+86/96] > device_release_driver+0x56/0x60 May 11 21:18:10 taz kernel: > [bus_remove_device+72/144] bus_remove_device+0x48/0x90 May 11 21:18:10 taz > kernel: [device_del+90/144] device_del+0x5a/0x90 May 11 21:18:10 taz > kernel: [device_unregister+8/16] device_unregister+0x8/0x10May 11 21:18:10 > taz kernel: [usb_disable_device+97/176] usb_disable_device+0x61/0xb0 May > 11 21:18:10 taz kernel: [usb_disconnect+143/224] usb_disconnect+0x8f/0xe0 > May 11 21:18:10 taz kernel: [hub_port_connect_change+580/640] > hub_port_connect_change+0x244/0x280 May 11 21:18:10 taz kernel: > [hub_port_status+58/176] hub_port_status+0x3a/0xb0 May 11 21:18:10 taz > kernel: [schedule+604/1040] schedule+0x25c/0x410 May 11 21:18:10 taz > kernel: [hub_events+604/688] hub_events+0x25c/0x2b0 May 11 21:18:10 taz > kernel: [hub_thread+43/224] hub_thread+0x2b/0xe0 May 11 21:18:10 taz > kernel: [default_wake_function+0/16] default_wake_function+0x0/0x10 May 11 > 21:18:10 taz kernel: [hub_thread+0/224] hub_thread+0x0/0xe0 May 11 > 21:18:10 taz kernel: [kernel_thread_helper+5/24] > kernel_thread_helper+0x5/0x18 May 11 21:18:10 taz kernel: > May 11 21:18:10 taz kernel: Code: 00 00 90 8d 74 26 00 57 89 d7 56 53 8b 98 > 9c 01 00 00 31 c0 85 db 74 24 0f b6 43 04 31 c9 39 c1 7d 18 89 c6 8d 76 00 > 8b 44 8b 0c <8b> 10 0f b6 52 02 39 fa 74 07 41 39 f1 7c ed 31 c0 5b 5e 5f > c3
Hi Nuno, I suspect it is caused by this patch (as246c - Allocate interface structures dynamically): http://marc.theaimsgroup.com/?l=linux-usb-devel&m=108239223425404&w=2 Can you please revert it and see if that helps? I think it is this bit that is causing the problem: /* * usb_disable_device - Disable all the endpoints for a USB device * @dev: the device whose endpoints are being disabled @@ -835,6 +831,7 @@ dev_dbg (&dev->dev, "unregistering interface %s\n", interface->dev.bus_id); device_unregister (&interface->dev); + dev->actconfig->interface[i] = NULL; } dev->actconfig = 0; if (dev->state == USB_STATE_CONFIGURED) @@ -1071,6 +1068,16 @@ return 0; } All the best, Duncan. ------------------------------------------------------- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel