> From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx] > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html