Hi Dave, On Monday 08 December 2003 05:59, David Brownell wrote: > Duncan Sands wrote: > > This just came up in devio.c: the "synchronous" call to usb_unlink_urb > > was returning immediately with -EBUSY (probably because the core > > just nuked the urbs) even though the completion handlers hadn't > > finished. > > That was with uhci-hcd, right? To support Greg's wish to support > a "fire-and-forget" urb management policy, I think we really need > to have a uhci_endpoint_disable() that's waiting for those urbs.
yes it was uhci. You're pointing out that the uhci implementation of urb nuking is not complete, right? I'd forgotten about that, and indeed it would explain how this panic was able to occur. > I bet nobody checks the return code because they expect the core to > > do whatever it takes to unlink the urb - even if it takes a long time. > > Considering that the core+hcds never actually tried to implement > the behavior those drivers were assuming, I've just assumed that > idiom was just another longstanding bug. Sure, but it is my impression (based on nothing at all, like all the best opinions) that the situation is like this: Number of places that wrongly rely on usb_unlink_urb (sync) behaving the way Alan suggested it should: lots. Number of places that would break if Alan's semantics were implemented: little. Number of ways that current semantics are more useful than the proposed semantics: little. In short, are the current semantics actually useful? More useful than those proposed by Alan? > Back on 2.4 the fact that unlinking doesn't work that way was maybe > less trouble, since the core wasn't doing any unlinking on disconnect > paths. (At least OHCI just succeeded there, rather than report EBUSY; > showing that wishful thinking can seem to work.) On 2.6 the core > does some unlinks, since so many drivers do it wrong; but if they're > running on UHCI, that driver bug currenly seems to hurt more. Yes. All the best, Duncan. ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
