Re: About zero-length packet design for EHCI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 3 Jul 2015, Peter Chen wrote:

> Thanks, I think I understand it now.
> 
> Maybe only the case A like below commit needs zero-length packet.
> 
> usb: chipidea: udc: Disable auto ZLP generation on ep0
> 953c66469735aed8d2ada639a72b150f01dae605

Case A (as described in that commit) definitely needs a ZLP.  The 
packet could be generated by the software or by the hardware.  But not 
by both -- then there would be two ZLPs!

> > Here is a simplified answer.  If a transfer requires more than one qTD, 
> > then all the qTDs but the last one will have their Alternate Next qTD 
> > Pointers set to a special value.  The last qTD doesn't need this.
> > 
> > Since ehci-hcd never uses more than one qTD for a control transfer data
> > stage, the issue doesn't comes up.  But if you look at how ehci-hcd
> > handles large bulk transfers, you will see what I mean.
> 
> The case A I list above, it should uses more than one qTD, right?

In case A, wLength is 255 bytes.  That easily fits into one qTD.  In 
fact, an EHCI qTD can handle up to 20 KB.

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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux