On Thu, 29 Apr 2004, Pete Zaitcev wrote:

> On Thu, 29 Apr 2004 23:15:56 -0400 (EDT)
> Alan Stern <[EMAIL PROTECTED]> wrote:
> 
> > It's not a matter of serialization.  The UHCI driver in 2.6 implements
> > queuing of URBs for all endpoints, whereas the 2.4 versions only allow
> > queuing for bulk endpoints
> 
> Thanks for clearing it for me. What about OHCI and EHCI?

I don't know.  Maybe someone else can answer.

> Stuart (or someone else) submitted a patch for my bug, which
> basically serializes everything usb-storage does with devio.c.
> I'm verifying that it's not deadlocking right now, but I'm uneasy
> with such strict serialization. I thought about a backport for
> a moment.

Stuart's suggestion isn't a bad one.  Since other processes are unlikely 
to use any endpoints other than 0, the usb-storage driver could be made to 
resubmit (a limited number of times and after some reasonable delay) all 
control URBs that fail with -ENXIO -- that's the error code for "couldn't 
accept this URB because another one is already active on the same 
endpoint".  Since all such URBs are submitted through 
transport.c:usb_stor_control_msg() it would be an easy change.

Alan Stern



-------------------------------------------------------
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

Reply via email to