Am Montag, 4. Juni 2007 16:44 schrieb Marcel Holtmann: > Hi Oliver, Hello,
> > > an alternate way would be to extend the usb_kill_anchored_urbs() with > > > its own complete handler that gets called for every anchored URB. This > > > would make it possible to cleanup the allocated buffers. I attached a > > > patch for that, too. > > > > No, that would mean an URB could have both its original and the additional > > handler or only the additional handler called. That's increasing complexity, > > not lowering it. > > depends on how you use it. I would only use the original complete > handler to do the re-submission of the URB and the additional handler to > free the allocated buffers. For that use case it works perfectly fine. > > To avoid confusion we could rename it to usb_release_t or something > similar. One usage is a bit weak to add common code. > > It seems to me that freeing buffers in usbcore is the logical conclusion > > of the pattern used in usb-skeleton. It may be used to avoid calling a > > completion handler at all. > > I agree that it is the cleanest to free the buffers when URB is no > longer in use. Normally that means that any allocated buffer for this > URB is also not needed anymore. > > Actually I am happy with any solution that frees the driver from having > to track the buffers for incoming endpoints used by an URB. I am fine with your original patch. Perhaps you should resend it. > For outgoing URBs the current approach with a separate buffer makes > sense. This allows me to use an skb->data directly without copying the > data first. Works really nicely in the new driver. Nice to hear. Regards Oliver ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel