Hi,
> -----Original Message-----
> From: Alan Stern [mailto:[email protected]]
> Sent: Monday, July 11, 2016 10:51 PM
> To: Lipengcheng
> Cc: [email protected]; [email protected]; 
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]; 
> [email protected]
> Subject: Re: [PATCH] usb:solve resume usb device identification problem
> 
> 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 <[email protected]>
> 
> Why wouldn't the USB device be at the right speed?
> 
For example, some USB3 devices are resume, the device may be in USB 2.0 Device 
States. We should have USB 2.0 reset and
make the device into 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.
> 
Yes, USB3 devices have this problem. So far, USB2 device can not find this 
problem. 
I mainly refer to the reset process of usb enumeration process.
> Alan Stern

Thanks,
Pengcheng Li

Reply via email to