diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2014-10-13 06:16:13 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-10-23 10:55:42 -0400 |
commit | 53185b3a441a6cc9bb3f57e924342d249138dcd6 (patch) | |
tree | 26b6c191afb5591db75eda8932a863ab4cc0c780 | |
parent | e0857ce58e8658657f5f12fe25272b93cfeb16aa (diff) |
usb: musb: dsps: start OTG timer on resume again
Commit 468bcc2a2ca ("usb: musb: dsps: kill OTG timer on suspend") stopped
the timer in suspend path but forgot the re-enable it in the resume
path. This patch fixes the behaviour.
Cc: <stable@vger.kernel.org> # v3.14+
Fixes 468bcc2a2ca "usb: musb: dsps: kill OTG timer on suspend"
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r-- | drivers/usb/musb/musb_dsps.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c index 154bcf1b5dfa..b18f8d5e4f98 100644 --- a/drivers/usb/musb/musb_dsps.c +++ b/drivers/usb/musb/musb_dsps.c | |||
@@ -896,7 +896,9 @@ static int dsps_resume(struct device *dev) | |||
896 | dsps_writel(mbase, wrp->mode, glue->context.mode); | 896 | dsps_writel(mbase, wrp->mode, glue->context.mode); |
897 | dsps_writel(mbase, wrp->tx_mode, glue->context.tx_mode); | 897 | dsps_writel(mbase, wrp->tx_mode, glue->context.tx_mode); |
898 | dsps_writel(mbase, wrp->rx_mode, glue->context.rx_mode); | 898 | dsps_writel(mbase, wrp->rx_mode, glue->context.rx_mode); |
899 | setup_timer(&glue->timer, otg_timer, (unsigned long) musb); | 899 | if (musb->xceiv->state == OTG_STATE_B_IDLE && |
900 | musb->port_mode == MUSB_PORT_MODE_DUAL_ROLE) | ||
901 | mod_timer(&glue->timer, jiffies + wrp->poll_seconds * HZ); | ||
900 | 902 | ||
901 | return 0; | 903 | return 0; |
902 | } | 904 | } |