Register the chipidea driver with the phy, so that the phy driver can kick the gadget driver when it resumes from low power. The phy-msm-usb (Qualcomm) driver requires this in order to recover gadget operation after you disconnect the USB cable and reconnect it. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> --- drivers/usb/chipidea/udc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 8223fe7..06234cd 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -1890,6 +1890,12 @@ static int udc_start(struct ci_hdrc *ci) ci->gadget.ep0 = &ci->ep0in->ep; + if (ci->usb_phy) { + retval = otg_set_peripheral(ci->usb_phy->otg, &ci->gadget); + if (retval) + goto destroy_eps; + } + retval = usb_add_gadget_udc(dev, &ci->gadget); if (retval) goto destroy_eps; -- 1.8.2.2 -- 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