MLK-9831-1 usb: chipidea: udc: refine ci_udc_start
Use ci_hdrc_gadget_connect() API directly if vbus is on. Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <jun.li@freescale.com>5.4-rM2-2.2.x-imx-squashed
parent
214ed5edf0
commit
ded9d896fa
|
@ -1765,23 +1765,14 @@ static int ci_udc_start(struct usb_gadget *gadget,
|
|||
ci->driver = driver;
|
||||
|
||||
/* Start otg fsm for B-device */
|
||||
if (ci_otg_is_fsm_mode(ci) && ci->fsm.id) {
|
||||
ci_hdrc_otg_fsm_start(ci);
|
||||
if (ci_otg_is_fsm_mode(ci)) {
|
||||
if (ci->fsm.id)
|
||||
ci_hdrc_otg_fsm_start(ci);
|
||||
return retval;
|
||||
}
|
||||
|
||||
pm_runtime_get_sync(&ci->gadget.dev);
|
||||
if (ci->vbus_active) {
|
||||
hw_device_reset(ci);
|
||||
} else {
|
||||
usb_udc_vbus_handler(&ci->gadget, false);
|
||||
pm_runtime_put_sync(&ci->gadget.dev);
|
||||
return retval;
|
||||
}
|
||||
|
||||
retval = hw_device_state(ci, ci->ep0out->qh.dma);
|
||||
if (retval)
|
||||
pm_runtime_put_sync(&ci->gadget.dev);
|
||||
if (ci->vbus_active)
|
||||
ci_hdrc_gadget_connect(&ci->gadget, 1);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue