summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Jun <jun.li@freescale.com>2015-01-27 11:30:35 +0800
committerLi Jun <jun.li@freescale.com>2015-01-28 11:08:36 +0800
commitc7c554fdcd714d0a858e12d7bdca316c509c1197 (patch)
tree5ebdb0fe0f2a328cc9eb1eaeff18dc69bc6d619d
parent42e09a4febb98f10019e442378c2118b105e59bf (diff)
MLK-10101-2 usb: chipidea: otg: delay to enter low power mode for a_host
There is 2s delay for controller resume from usb wakeup case already, in OTG fsm mode, A-dev can start a new session via sys input file(means not via usb wakeup), in this case, A-dev still need the 2s delay for host root hub access registers, otherwise system will hang due to access register at low power mode. Signed-off-by: Li Jun <jun.li@freescale.com>
-rw-r--r--drivers/usb/chipidea/otg_fsm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c
index ac3dcf3837a0..04cdecec8672 100644
--- a/drivers/usb/chipidea/otg_fsm.c
+++ b/drivers/usb/chipidea/otg_fsm.c
@@ -699,6 +699,10 @@ int ci_otg_fsm_work(struct ci_hdrc *ci)
*/
ci_otg_queue_work(ci);
}
+ } else if (ci->fsm.otg->state == OTG_STATE_A_HOST) {
+ pm_runtime_mark_last_busy(ci->dev);
+ pm_runtime_put_autosuspend(ci->dev);
+ return 0;
}
}
pm_runtime_put_sync(ci->dev);