> David Mosberger wrote: >> ... add a new state >> ED_DESCHEDULED, which is treated exactly like ED_IDLE, except >> that in this state, the HC may still be referring to the ED in >> question. Thus, if
David.B> Sounds exactly like ED_UNLINK -- except maybe that it's not David.B> been put onto ed_rm_list (with ED_DEQUEUE set). David.B> Why add another state?
So you can tell them apart. See ohci_endpoint_disable().
Not informative. Why doesn't UNLINK work as-is? If there's a bug in how that's handled, better to fix it. I'd be willing to believe there is one, given proof.
You seem to think small races are OK. I disagree. The smaller the
I certainly didn't say that, any more than you said that there's no such thing as an engineering tradeoff!
(With which statement I'd likewise disagree.)
But I certainly did mean to say that I was skeptical you were actually running into one particular race, which I've had an eye on for some time. (And which shouldn't have the failure mode you reported, though some other things might...)
David.B> But some parts worry me. Like changing that code to BUG() David.B> on a driver behavior that's perfectly reasonable;
With my patch, the only reason you enter ED_UNLINK state is ohci_endpoint_disable(). If you try to ohci_urb_enqueue() on an ED in this state, it will fail, so I don't there is a problem (I see now
It's entered in usb_unlink_urb() as always. So as I noted, your patch would make drivers BUG() in cases that are perfectly reasonable according to the API.
that I forgot to set the error-code for this case, that's obviously something that needs to be fixed). But perhaps you had different semantics in mind for ED_UNLINK?
As I've said more than once on this thread.
- Dave
------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel