
On Tue, 2016-05-03 at 22:51 +0200, Marek Vasut wrote:
The USB function can respond to a Setup packet with ACK or, in case it's busy, it can ignore the Setup packet. The USB function usually gets busy if we hammer it with Control EP transfers too much (ie. sending multiple Get Descriptor requests in a single microframe tends to trigger it on certain USB sticks). The DWC2 controller will interpret not receiving an ACK after Setup packet as XACTERR. Check for this condition and if it happens, retry sending the Setup packet.
Signed-off-by: Marek Vasut marex@denx.de Cc: Chin Liang See clsee@altera.com Cc: Dinh Nguyen dinguyen@opensource.altera.com Cc: Hans de Goede hdegoede@redhat.com Cc: Stefan Roese sr@denx.de Cc: Stephen Warren swarren@nvidia.com
drivers/usb/host/dwc2.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
Reviewed-by: Chin Liang See clsee@altera.com Tested-by: Chin Liang See clsee@altera.com
Thanks Chin Liang