On Mon, 11 Jul 2016, Pengcheng Li wrote:

> A usb device in the connection state. Then host is suspend and resume.
> But the usb device could not be at the right speed. We should be reset
> the reset.
> 
> Signed-off-by: Pengcheng Li <lpc...@hisilicon.com>

Why wouldn't the USB device be at the right speed?

You should _not_ reset the device if it is at the right speed.

> @@ -3512,6 +3512,10 @@ int usb_port_resume(struct usb_device *udev, 
> pm_message_t msg)
>               }
>       }
>  
> +     retval = hub_port_reset(hub, port1, udev, HUB_ROOT_RESET_TIME, false);
> +     if (retval < 0)
> +             hub_port_disable(hub, port1, 0);
> +

Most of the time (for example, for non-USB3 devices) this would be 
wrong.

Alan Stern

Reply via email to