From: Sebastian Andrzej Siewior Date: Tue, 15 Oct 2013 16:29:26 +0000 (+0200) Subject: usb: musb: dsps: run the timer only on OTG systems X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=24616eb66a996d30bf6449feb313a29cd1083cf9;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git usb: musb: dsps: run the timer only on OTG systems 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 Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c index e1da6702078a..82e1da08a67b 100644 --- a/drivers/usb/musb/musb_dsps.c +++ b/drivers/usb/musb/musb_dsps.c @@ -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)