On Thu, 13 May 2004, Duncan Sands wrote: > 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; > }
I don't see how that can be. The stack dump is getting unwieldy so I haven't duplicated it here, but if I'm reading it right the problem occurs when usb_set_interface() is called by usb_unbind_interface(), which itself is called indirectly by device_unregister() above. The pointer for the interface being unregistered has not yet been set to NULL, hence this shouldn't cause an oops. Alan Stern ------------------------------------------------------- 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