From: Alan S. <st...@ro...> - 2008-06-26 14:16:44
|
On Thu, 26 Jun 2008, Lei Chen wrote: > > Actually, a control pipe is limited to 64 bytes per packet, so what > I see that. In Solaris, the ehci driver allocates one qTD with one > page(4096 bytes) of memory for the control data. If client driver or > applications require less data than 4096 bytes, that's ok and the > underlying driver will deliver required length of data in one time to > upper layer. In this process, it may involve multiple packets to fill > that block of memory. In fact, host controller has splitted long data > into 64-byte packets. If more than 4096 bytes are required, an error > will be returned. Does Linux have similar behavior? The EHCI and OHCI host controller drivers have a similar limitation on the length of control transfers. The UHCI driver doesn't. Alan Stern |