On Fri, April 13, 2007 22:16, Pete Zaitcev wrote: > > The transfer size in the URB is not limited by the maximum packet > size. The HC driver splits up the transfer as specified by URB into > the required number of packets.
The problem was not in the transfer from PC -> Device, but from Device -> PC. If I remember correctly, the 512 limit (in the urb->transfer_flags) is used to setup the DMA. When the device sent packets which were 1024 bytes in size, the urb came back with a status set to -EOVERFLOW. The only place this could happen (in the EHCI) is in qtd_copy_status() where the hardware has reported a "can't proceed" error (via QTD_STS_HALT) and then the QTD_STS_BABBLE bit is set (which I interpret to mean that the device on the other end is "babbling"). [snip] > I presume the devices didn't show up on your doorstep with baseball > bats to have a little chat. In a sense they did when there was no way for me to do BULK transfers without slamming me with 1024 byte packets :-). -Jeremy -- ----------------------- Jeremy C. Andrus http://www.jeremya.com/ ----------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/