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
