If the xHCI spec is contradictory, please contact xhcisupport@xxxxxxxxx. Sarah Sharp On Mon, Apr 01, 2013 at 10:48:35AM +0000, Ankit wrote: > With respect to latest xHCI spec : > Revision 1.0 > with errata to 8/14/12 > > Page 114: > Note: Consider the case where there are multiple TDs posted for pipe for a > single data transfer and a > Short Packet or other condition on one TD means that the data transfer is > terminated, > and that the subsequent TDs associated with the data transfer are now invalid. > The xHC may have > read ahead on the Transfer Ring and cached the subsequent TDs. To ensure that > xHC frees any > cached information associated with a pipe in a timely manner (so that it can > reuse the cache space > for other pipes), software shall issue a Set TR Dequeue Pointer Command for the > pipe when the > data transfer is terminated, vs. waiting for the next data transfer to be ready > before issuing the > command. > Note: If software issues a Set TR Dequeue Pointer Command that points to a TRB > that had previously > been partially completed TD, the xHC shall treat that TRB as the first TRB of > the TD. i.e. any prior > state associated with a partially completed TRB is lost. > > Looking at this description, I interpret that when the ShortPacket is received, > xHC should stop executing the transfer and should wait for the driver for next > command or doorbell. > > Page 130: > Note: If the xHC receives a short packetShort Packet from a device, then it > shall retire the current TD. If > another TD is defined on the Transfer Ring, the xHC shall advance to it and > begin IN transactions. > > Looking at this description, I interpret that when the ShortPacket is received, > xHC should discard the current TD and start executing the next TD if available. > > Page 172: > If a Short Packet is detected during the execution of a multi-TRB TD, the xHC > shall advance to the first > TRB of the next TD or the Enqueue Pointer (i.e.Cycle bit transition), whichever > is encountered first. > > Looking at this description, I interpret that when the ShortPacket is received, > xHC should discard the current TD and start executing the next TD if available. > > These descriptions are contradictory. > > Which is the correct xHCI behavior when ShortPacket is received? > -Ankit > > -- > 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 -- 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