> From: Alan Stern [mailto:st...@rowland.harvard.edu]
> Sent: Thursday, May 08, 2014 12:07 PM
> 
> On Thu, 8 May 2014, Paul Zimmerman wrote:
> 
> > Just FYI, the DWC3 core is designed to always respond to SETUP packets.
> > It has a 3-deep input buffer for SETUPs, provided the RxFIFO is set up
> > properly according to the databook. If the buffer fills up, then
> > further SETUP packets will get lost, but they will still be ACKed.
> 
> Really?  That seems odd.  Isn't the most recent SETUP packet the one
> you want to handle?

I just spoke to one of the RTL designers about this, and I was wrong in
one of my previous statements.

The controller does have a 3-deep buffer for SETUP packets. But if the
buffer fills up and a 4th SETUP packet comes in, the controller will
not ACK it, it will time out the transfer instead.

So if that state is ever reached, the host should issue a USB reset and
start over.

-- 
Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to