> looking at the implementations of unlink in the HCDs, I noticed that
> if the urb resubmits itself by the completion handler, unlinking it may fail.

Could you elaborate?

> This means that some disconnect() methods are racy.
> Who is buggy, the HCDs or the drivers ?

Can't tell with what you've said so far.  If the URB is unlinked
and submitting it fails, then it's an obvious HCD bug.

But if it's not really unlinked (periodic completion callback
with status != { -ENOENT, -ECONNRESET }) then it's a
driver bug.  I'd suspect that's more the case.


(On a distinct, but related, issue, I think that most of the
HCDs may not handle unlinking interrupt URBs from the
completion handlers correctly.  A test driver I wrote fails
on everything except "ehci-hcd" ... usb-ohci and usb-uhci
just hang, and uhci enters a nasty loop.)

- Dave




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

Reply via email to