|
@@ -227,8 +227,13 @@ static int dsps_check_status(struct musb *musb, void *unused)
|
|
|
|
|
|
|
|
switch (musb->xceiv->otg->state) {
|
|
switch (musb->xceiv->otg->state) {
|
|
|
case OTG_STATE_A_WAIT_VRISE:
|
|
case OTG_STATE_A_WAIT_VRISE:
|
|
|
- dsps_mod_timer_optional(glue);
|
|
|
|
|
- break;
|
|
|
|
|
|
|
+ if (musb->port_mode == MUSB_HOST) {
|
|
|
|
|
+ musb->xceiv->otg->state = OTG_STATE_A_WAIT_BCON;
|
|
|
|
|
+ dsps_mod_timer_optional(glue);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ /* fall through */
|
|
|
|
|
+
|
|
|
case OTG_STATE_A_WAIT_BCON:
|
|
case OTG_STATE_A_WAIT_BCON:
|
|
|
/* keep VBUS on for host-only mode */
|
|
/* keep VBUS on for host-only mode */
|
|
|
if (musb->port_mode == MUSB_HOST) {
|
|
if (musb->port_mode == MUSB_HOST) {
|