usb: musb: dsps: run the timer only on OTG systems
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 15 Oct 2013 16:29:26 +0000 (18:29 +0200)
committerFelipe Balbi <balbi@ti.com>
Thu, 17 Oct 2013 14:55:10 +0000 (09:55 -0500)
I introduced this check here because it looked wrong in HOST only
configurions. The timer would remove that session bit and will never
come back and so there would not be another session.
Now that I played with OTG for a while I belive this workaround is
only required for the OTG mode because we have to end the session and
then we have to try to start manually.
Therefore, this patch limits this timer to the OTG only port mode so we
don't need to poll around in device only mode.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_dsps.c

index e1da670..82e1da0 100644 (file)
@@ -138,7 +138,7 @@ static void dsps_musb_try_idle(struct musb *musb, unsigned long timeout)
                glue->last_timer = jiffies;
                return;
        }
-       if (musb->port_mode == MUSB_PORT_MODE_HOST)
+       if (musb->port_mode != MUSB_PORT_MODE_DUAL_ROLE)
                return;
 
        if (!musb->g.dev.driver)