On Wed, 4 Feb 2004, David Brownell wrote: > Because they use a regular FIFO with bits allowing each word to have > an end-of-packet bit ... 1 KByte of buffer can handle a variable number > of packets. (And the 2 KByte/endpoint mode is important when streaming > high bandwidth packets, with fast-enough hosts.) When the packet that > arrives is less than maxpacket, the NAK_OUT_PACKETS mode kicks in. > > But if the read was less than maxpacket and the packet that arrives > is exactly maxpacket, the endpoint will keep accepting packets. It's > messy to sort out all the fault cases ... especially when DMA chaining > is in use, since software won't have a chance to patch things up between > transfers unless the NAK_OUT_PACKETS mode kicked in.
Clearly gadgets and hosts will have differing requirements. Even in each group, differing controllers will have their own idiosyncracies. When writing a driver, it's not easy to know which approach will be best. Alan Stern ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel