spec violation of xHCI?

Hans Petter Selasky hps at bitfrost.no
Thu Dec 12 07:46:03 UTC 2013


On 12/12/13 08:15, Hans Petter Selasky wrote:
> On 12/12/13 01:59, Kohji Okuno wrote:
>
> Hi Kohji,
>
> Did you check using a USB analyzer what the difference is when setting
> the CHAIN bit and not setting the chain bit?
>
> I would guess that if you set the CHAIN-bit in this case, no ZLP will be
> sent, because the TRB is associated with the previous one.
>
> What endpoint type is this? BULK/CONTROL/INTR/ISOC
>
> What direction is this? IN or OUT?
>
> --HPS

Hi Kohji,

If there is no CHAIN bit in the IN-direction, my TD chain will receive 
multiple short packets. This is of course not correct. This only happens 
if you have very large buffers above 64KByte that don't fit in a single TD.

For OUT direction:
There are no short packets received, though errors can happen and those 
will stop the endpoint. Are we sure that by setting the CHAIN bit, that 
the HC's will transfer ZLP's if the length of the second last "TD" is a 
multiple of wMaxPacketSize and the last one has a length of zero bytes?

I will do some testing to verify the corner cases.

Thank you!

--HPS



More information about the freebsd-current mailing list