From usb-ohci.c:

case PIPE_CONTROL: /* 1 TD for setup, 1 for ACK and 1 for every 4096 B */
size = (urb->transfer_buffer_length == 0)? 2: (urb->transfer_buffer_length - 1) / 4096 + 3;
break;

Then it will allocate "size" number of TDs.

Do I miss anything?
Look at td_submit_urb() where it only _uses_ the first one;
you'd have to manually track the data toggle inside longer
control DATA segments, too.  The relevant line has a NOTE.




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to