On Wed, Apr 06, 2016 at 09:32:22AM +0300, Roger Quadros wrote: > On 06/04/16 09:09, Felipe Balbi wrote: > > > > Hi, > > > > Roger Quadros <rogerq@xxxxxx> writes: > >> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c > >> index 2ca2cef..6b1930d 100644 > >> --- a/drivers/usb/core/hcd.c > >> +++ b/drivers/usb/core/hcd.c > >> @@ -2706,6 +2706,7 @@ int usb_add_hcd(struct usb_hcd *hcd, > >> int retval; > >> struct usb_device *rhdev; > >> > >> + hcd->flags = 0; > > I am not sure if this usb_add(remove)_hcd pair is safe and clean enough for start/stop host role. From my point, we may need to do like .probe/.remove host platform driver interface. In that case, we can make sure the clocks and regulators are off, and hcd will be zero-initialized next time. Assume we are at gadget mode, we may not hope the vbus regulator is still on which is for host only. So, this part may need to implement by each user. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html