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 e1da6702078a6a5604864a525af9b4e6a20040ce..82e1da08a67b9c2b84008adee28da1072f107033 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)