Am Mittwoch, 28. April 2004 22:27 schrieb Alan Stern:
> [CC: list pruned]
>
> On Wed, 28 Apr 2004, Oliver Neukum wrote:
> > > But the first case still applies.  (As does the case of maverick
> > > drivers like Bluetooth that don't use usb_free_urb().)  So there has to
> > > be a way for a driver to wait until an URB's completion handler has
> > > finished. That's the need addressed by usb_wait_for_urb().
> >
> > Is there anybody using a synchronous unlink who doesn't want that?
>
> Not as far as I know.  Of course, I'm not familiar with every single USB

I am not quite sure that I should believe you in that matter ;-)

> driver. :-)  Does usblp ever do a synchronous unlink and then reuse the
> URB immediately afterward?

Nope. Strangely not. I thought that it should and even made a patch to
unlink in the timeout error case, but it broke the driver and needed to
be backed out. To this day I haven't found the reason.

> > > finished.  That's why usb_wait_for_urb() is needed.
> >
> > But is very poorly implemented.
>
> Can you come up with something better in terms of both space and time?

Good question. I'll have to think about it.
It seems to me that, as completion handlers are interrupt handlers the
solution would be a spinlock, but I am not sure where to take it.

        Regards
                Oliver



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