On Fri, Feb 28, 2003 at 12:25:42PM -0800, David Brownell wrote:
> 
> >>>>Which points at the ohci driver not allowing usb_unlink_urb() to be
> >>>>called after the device is disconnected.  David, is this true?
> >>>
> >>>Certainly.  disconnect() is in charge of doing such unlinks.
> >>
> >>But we shouldn't oops if unlink() is called after disconnect(), right?
> >
> >
> >Just to make this more clear: the oops doesn't happen when we unlink
> >in destroy_scanner but somewhere in ohci which expects that unlink is
> >already called. 
> 
> The right place for the unlink is in the disconnect() callback, yes.
> 
> Oopsing is undesirable, true, but is one of the consequences of
> not implementing disconnect() right.  And it has the advantage
> of not facilitating the subtle falure modes coming from components
> having different notions of device (or interface) state.

The the host controller driver should be fixed.  This is because some
drivers don't even know about all of the urbs they have submitted (visor
driver being one of them), so they can't know to cancel them :)

Oh, and I just got a report of the visor driver in 2.5 working 4 minutes
faster for large backups than the 2.4 version.  This is possibly due to
the overall stack cleanups in 2.5, and partially due to the changes
between the visor driver in 2.5 and 2.4.  

thanks,

greg k-h


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to