Re: [PATCH] usb bulk transfer: 1024 byte packets
- From: "Jeremy C. Andrus" <jeremy@xxxxxxxxxxx>
- Date: Sat, 14 Apr 2007 09:14:25 -0400 (EDT)
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH] usb bulk transfer: 1024 byte packets
- From: Pete Zaitcev
- Re: [PATCH] usb bulk transfer: 1024 byte packets
- References:
- [PATCH] usb bulk transfer: 1024 byte packets
- From: Jeremy C. Andrus
- Re: [PATCH] usb bulk transfer: 1024 byte packets
- From: Pete Zaitcev
- [PATCH] usb bulk transfer: 1024 byte packets
- Prev by Date: {Spam?} Re: [PATCH][RFC] Kill off legacy power management stuff.
- Next by Date: Re: [CRYPTO] is it really optimized ?
- Previous by thread: Re: [PATCH] usb bulk transfer: 1024 byte packets
- Next by thread: Re: [PATCH] usb bulk transfer: 1024 byte packets
- Index(es):
Relevant Pages
|