Hi Marex, On Sat, Dec 9, 2023 at 6:12 PM Shantur Rathore <i...@shantur.com> wrote: > > Currently when a hub is turned on, all the ports are powered on. > This works well for hubs which have individual power control. > > For the hubs without individual power control this has no effect. > Mostly in these scenarios the hub port is powered before the USB > controller is enabled, this can lead to some devices in unexpected > state. > > With this patch, we explicitly reset the port while powering up hub > This resets the port for hubs without port power control and has > no effect on hubs with port power control as the port is still off. > > Before this patch AMicro AM8180 based NVME to USB adapter won't be > detected as a USB3.0 Mass Storage device but with this it works as > expected. > > Tested working after this patch: > 1. AMicro AM8180 based NVME to USB Adapter > 2. Kingston DataTraveler 3.0 > 3. GenesysLogic USB3.0 Hub > > The drives were tested while connected directly and via the hub. > > Signed-off-by: Shantur Rathore <i...@shantur.com> > > --- > > Changes in v3: > - Split up patches as seperate series > > Changes in v2: > - As requested, added fix for regulator-always-on in RockPro64 > > common/usb_hub.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/common/usb_hub.c b/common/usb_hub.c > index 70279f301d..3fb7e14d10 100644 > --- a/common/usb_hub.c > +++ b/common/usb_hub.c > @@ -174,8 +174,10 @@ static void usb_hub_power_on(struct usb_hub_device *hub) > > debug("enabling power on all ports\n"); > for (i = 0; i < dev->maxchild; i++) { > + usb_set_port_feature(dev, i + 1, USB_PORT_FEAT_RESET); > + debug("Reset : port %d returns %lX\n", i + 1, dev->status); > usb_set_port_feature(dev, i + 1, USB_PORT_FEAT_POWER); > - debug("port %d returns %lX\n", i + 1, dev->status); > + debug("PowerOn : port %d returns %lX\n", i + 1, dev->status); > } > > #ifdef CONFIG_SANDBOX > -- > 2.40.1 >
Do you think it is the right time to get this in early so it can be tested for a longer time before the next release ? Kind regards, Shantur