On Wed, 6 May 2009, Richard Andrews wrote: > Can anyone tell me if there is a difference in the way EHCI v OHCI/UHCI > hardware handles bulk OUT transfers that end on a max packet size > boundary. There is no difference. > The flag URB_ZERO_PACKET adds a ZLP if required, but > the EHCI spec says that it will always do that anyway. I presume this > is different to OHCI and UHCI (I don't have those specs). It isn't different; you are somehow misinterpreting the EHCI spec. Where do you think it says that a ZLP will always be added? > I'm > looking for a reason why a CDC-like device fails to fully receive a > bulk OUT transfer sometimes for full-speed setups but never for > high-speed. The driver does not set URB_ZERO_PACKET, but the gadget > requires a ZLP or short packet to signify the end of a bulk OUT > transfer. This could be due to the different maxpacket values in full speed and high speed. Are you sure the driver really needs a short packet? I won't say it's impossible (because I'm not familiar with the CDC spec), but it does seem unlikely. > Is URB_ZERO_PACKET ever required for EHCI? The same as for the other controller types. > Could EHCI disguise the fact that URB_ZERO_PACKET is required for > OHCI and UHCI? No. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html