summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/musb_dsps.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-09-27 21:44:02 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-09-27 21:44:02 +0200
commitc566f365434e732986d7904e29c8122dfcb1e333 (patch)
treea2189979d71d844f62d0ef75836e9f6c72ab60ff /drivers/usb/musb/musb_dsps.c
parentti-st: use worker instead of calling st_int_write in wake up (diff)
parentLinux 4.3-rc3 (diff)
downloadlinux-c566f365434e732986d7904e29c8122dfcb1e333.tar.xz
linux-c566f365434e732986d7904e29c8122dfcb1e333.zip
Merge 4.3-rc3 into char-misc-next
We want those fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/musb/musb_dsps.c')
-rw-r--r--drivers/usb/musb/musb_dsps.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
index a0cfead6150f..84512d1d5eee 100644
--- a/drivers/usb/musb/musb_dsps.c
+++ b/drivers/usb/musb/musb_dsps.c
@@ -225,8 +225,11 @@ static void dsps_musb_enable(struct musb *musb)
dsps_writel(reg_base, wrp->epintr_set, epmask);
dsps_writel(reg_base, wrp->coreintr_set, coremask);
- /* start polling for ID change. */
- mod_timer(&glue->timer, jiffies + msecs_to_jiffies(wrp->poll_timeout));
+ /* start polling for ID change in dual-role idle mode */
+ if (musb->xceiv->otg->state == OTG_STATE_B_IDLE &&
+ musb->port_mode == MUSB_PORT_MODE_DUAL_ROLE)
+ mod_timer(&glue->timer, jiffies +
+ msecs_to_jiffies(wrp->poll_timeout));
dsps_musb_try_idle(musb, 0);
}