On Wed, Aug 21, 2013 at 03:20:21PM +0200, Gerd Hoffmann wrote:
xhci needs them even after completing device
initialization. xhci must
to walk up the chain to the root port and the usbdevs (of usb hubs) are
part of it.
The hub's usbdev isn't freed until all of its ports have been
configured. The only place I see the hub chain walked is in an xhci
set-address command - but that command would only be run during the
configuration when all the hub ports are still available. So, I don't
understand why this change is necessary.
Also, would it be simpler to cache the route and hub speed during the
pipe allocation instead of calculating it during the set-address
command? This is what the ehci code does.