On Tue, 1 Jun 2004 11:20:48 -0400 (EDT) Alan Stern <[EMAIL PROTECTED]> wrote:
> On Tue, 1 Jun 2004, Luca Risolia wrote: > > > It seems usb_unlink_urb(submitted_urb) causes a kernel > > oops if called after the usbcore completes usb_disconnect(), > > during fileop->close(), when the device is hardware-disconnected > > while streaming. > > > > Below is the oops from the kernel and (part of) the code calling > > usb_unlink_urb(). The same code used to work on previous versions of the kernel. > > I'm not sure what happened with earlier versions of the kernel, but here > it looks like you are calling usb_unlink_urb() after your disconnect() > routine has returned. Correct. By that time the struct usb_device has already been > deallocated, so it's too late. You must not unlink the urb during close() > if the device has been disconnected; you must unlink it during > disconnect() instead. > > Actually, when the device is unplugged usbcore will unlink all its URBs > automatically. Since the driver needs to run under linux > 2.4.20, do you know whether this is the default behaviour with previous versions of the kernel as well? ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel