> > But let me correct myself:  even that's not good enough.  Drivers
> > always need to explicitly manage URB reuse from completion
> > handlers ... if they expect usbcore to mark URBs as reusable,
> > there's ALWAYS a race on SMPs between completion handler
> > finishing with that URB, and other driver code reusing it.
> 
> Usbcore can't mark an URB as reusable.
> Only the HCD can do that without a race 

In that context, that's what I meant.  From the perspective of
all drivers except "hub" or HCDs, "usbcore" includes/hides
all the HCDs.  They don't see HCDs, they talk to usbcore
(which talks to the HCDs as neeeded).

No HCD could resolve that race, any more than other
parts of usbcore could, since it happens after the HCD
has given up ownership of  the URB.


>    (or the completion handler could)

ONLY completion handlers can do that.  HCDs can't, as I
just explained above.

- Dave



_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to