Am Dienstag, 21. Januar 2003 20:47 schrieb Alan Stern: > Oliver et al.: > > In response to one of your previous messages, I tried reducing the scope > of the changes required for properly tracking urb states and synchronous > unlinking. It turns out that in addition to the extra spinlock, I needed > 2 bits: one to indicate when the urb is in use (owned by the core) and > one to indicate that it has been unlinked. > > Just for kicks I created a patch (included below) that allocates those > bits from urb->transfer_flags. That's not such a great place, because > it's liable to be overwritten by device drivers. But the only alternative > is to add a whole extra field (like internal_state).
I believe that you should do that. > Functionally this does pretty much what we have been discussing. Overall > the changes are pretty minimal, just what is necessary to make things > work. It would be great if we could eleminate the need for handling unlinking during completion at all. Is there a reason you cannot make them mutually exclusive? IMHO it should be possible to do that if you make it a requirement to call giveback with handler_lock held. Regards Oliver ------------------------------------------------------- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel