Some comments on r79:
1. In recent kernels, all urbs are guaranteed to be killed before
disconnect() is invoked. This change was made to remove the number of
races like this. The only danger is of urbs which might resubmit
themselves in their callback handler (they must handle kill gracefully).
2. I don't think the change to transfer_flags is correct, this should
only be changed before the urb is submitted. Surely it's ok to kill an
urb which was enabled for async unlink anyway? Of course, the
asynchronous unlink flag was removed in recent kernels - all urbs are
asynchronously killable, so maybe this point is moot.
Zd1211-devs mailing list - http://zd1211.ath.cx/