|
@@ -520,7 +520,6 @@ static int ci_otg_start_host(struct otg_fsm *fsm, int on)
|
|
{
|
|
{
|
|
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
|
|
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
|
|
|
|
|
|
- mutex_unlock(&fsm->lock);
|
|
|
|
if (on) {
|
|
if (on) {
|
|
ci_role_stop(ci);
|
|
ci_role_stop(ci);
|
|
ci_role_start(ci, CI_ROLE_HOST);
|
|
ci_role_start(ci, CI_ROLE_HOST);
|
|
@@ -529,7 +528,6 @@ static int ci_otg_start_host(struct otg_fsm *fsm, int on)
|
|
hw_device_reset(ci);
|
|
hw_device_reset(ci);
|
|
ci_role_start(ci, CI_ROLE_GADGET);
|
|
ci_role_start(ci, CI_ROLE_GADGET);
|
|
}
|
|
}
|
|
- mutex_lock(&fsm->lock);
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -537,12 +535,10 @@ static int ci_otg_start_gadget(struct otg_fsm *fsm, int on)
|
|
{
|
|
{
|
|
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
|
|
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
|
|
|
|
|
|
- mutex_unlock(&fsm->lock);
|
|
|
|
if (on)
|
|
if (on)
|
|
usb_gadget_vbus_connect(&ci->gadget);
|
|
usb_gadget_vbus_connect(&ci->gadget);
|
|
else
|
|
else
|
|
usb_gadget_vbus_disconnect(&ci->gadget);
|
|
usb_gadget_vbus_disconnect(&ci->gadget);
|
|
- mutex_lock(&fsm->lock);
|
|
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|