RE: [PATCH] usb: hub: try old enumeration scheme first for high speed devices

From: Alan Stern
Date: Tue Aug 14 2018 - 10:39:57 EST


On Tue, 14 Aug 2018, Zengtao (B) wrote:

> Hi alan:
>
> >-----Original Message-----
> >From: linux-usb-owner@xxxxxxxxxxxxxxx
> >[mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Alan Stern
> >Sent: Friday, August 10, 2018 10:20 PM
> >To: Roger Quadros <rogerq@xxxxxx>
> >Cc: Zengtao (B) <prime.zeng@xxxxxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx;
> >mathias.nyman@xxxxxxxxxxxxxxx; drinkcat@xxxxxxxxxxxx;
> >felipe.balbi@xxxxxxxxxxxxxxx; drake@xxxxxxxxxxxx; mike.looijmans@xxxxxxxx;
> >joe@xxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> >Subject: Re: [PATCH] usb: hub: try old enumeration scheme first for high speed
> >devices
> >
> >On Fri, 10 Aug 2018, Roger Quadros wrote:
> >
> >> Hi,
> >>
> >> On 10/08/18 18:01, Zeng Tao wrote:
> >> > The new scheme is required just to support legacy low and full-speed
> >> > devices. For high speed devices, it will slower the enumeration speed.
> >> > So in this patch we try the "old" enumeration scheme first for high
> >> > speed devices.
> >>
> >> How slow does it get? Is it significant?
> >> Do we risk breaking existing HS devices that work? I don't think we
> >> can be sure till we run this through testing.
> >
> >Indeed. I am extremely skeptical about a patch like this, unless somebody can
> >show that Windows uses the "old" scheme for high-speed devices.
>
> Yes, this is what the windows has done, you can refer to
> https://blogs.msdn.microsoft.com/usbcoreblog/2013/04/11/usb-2-1-2-0-1-1-device-enumeration-changes-in-windows-8/

And that blog post is 5 years old!

Okay, I think we can go ahead and make this change. However, you
should update the patch description to mention what Microsoft did in
Windows 8 and say that the new behavior matches theirs.

Also, as Roger mentioned, you should update the documentation to say
that the old_scheme_first module parameter now applies only to low- and
full-speed devices, since high- and SuperSpeed devices always use the
old scheme first.

Alan Stern