mirror of
git://projects.qi-hardware.com/f32xbase.git
synced 2025-04-21 12:27:27 +03:00
Requests following a rejected SETUP requests failed too, which sometimes
produces user-visible errors and may confuse implementations. (E.g., when probing for an unimplemented feature and subsequently being greeted by a timeout.) - fw/comon/usb.c (handle_setup): set SOPRDY when answering a request error with a stall, according to the example in AN139. This seems to eliminate the timeouts observed in requests following after bad requests. - fw/boot/boot.c (run_payload): described how the host is expected to respond to the device resetting its USB stack
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* common/usb.c - USB hardware setup and standard device requests
|
||||
*
|
||||
* Written 2008, 2009 by Werner Almesberger
|
||||
* Copyright 2008m 2009 Werner Almesberger
|
||||
* Written 2008-2010 by Werner Almesberger
|
||||
* Copyright 2008-2010 Werner Almesberger
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -258,8 +258,9 @@ okay:
|
||||
}
|
||||
stall:
|
||||
printk("STALL\n");
|
||||
usb_write(E0CSR, SDSTL_0);
|
||||
ep0.state = EP_STALL;
|
||||
/* AN139 recommends this sequence */
|
||||
usb_write(E0CSR, SOPRDY | SDSTL_0);
|
||||
ep0.state = EP_IDLE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user