On Sat, Aug 08, 2020 at 03:40:14PM +0900, Yasushi Asano wrote: > From: Yasushi Asano <yasano@xxxxxxxxxxxxxx> > > According to 6.7.22 A-UUT “Device No Response” for connection timeout > of USB OTG and EH automated compliance plan v1.2, the enumeration > failure has to be detected within 30 seconds. However, the old and new > enumeration schemes made a total of 16 attempts, and each attempt can > take 5 seconds to timeout, so it failed with PET test. Modify it to > reduce the number of attempts to 5 and pass PET test. This description should explain that there will be 3 attempts using the new scheme and 2 attempts using the old scheme (is that right?), at most. > > Signed-off-by: Yasushi Asano <yasano@xxxxxxxxxxxxxx> > --- > drivers/usb/core/hub.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > index 052d5ac..ebf6931 100644 > --- a/drivers/usb/core/hub.c > +++ b/drivers/usb/core/hub.c > @@ -2707,9 +2707,9 @@ static unsigned hub_is_wusb(struct usb_hub *hub) > > #define PORT_RESET_TRIES 5 > #define SET_ADDRESS_TRIES 2 > -#define GET_DESCRIPTOR_TRIES 2 > -#define SET_CONFIG_TRIES (2 * (use_both_schemes + 1)) > -#define USE_NEW_SCHEME(i, scheme) ((i) / 2 == (int)(scheme)) > +#define GET_DESCRIPTOR_TRIES 1 Instead of changing the number of loop iterations to 1, you should get rid of the loop entirely. > +#define SET_CONFIG_TRIES (use_both_schemes + 1) > +#define USE_NEW_SCHEME(i, scheme) ((i) == (int)(scheme)) > > #define HUB_ROOT_RESET_TIME 60 /* times are in msec */ > #define HUB_SHORT_RESET_TIME 10 > -- > 2.7.4 Alan Stern