1
0
Fork 0

MLK-11340-39 usb: chipidea: otg: clear b_bus_req when vbus is off

In case of b_peripheral --> b_wait_acon --> b_idle due to vbus off
in b_wait_acon state, b_bus_req cannot be cleared in b_idle state,
which result in b device will do data pulse because b_bus_req is set.
This patch fix this issue by clear the input variable b_bus_req when
vbus is off.

Acked-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit bc600546bf9193f1a39186ad4c07a5fd497c7bfd)
(cherry picked from commit c0ea9bfcd948e2d79ea77d22756550f498281cbb)
pull/10/head
Li Jun 2014-09-22 16:19:59 +08:00 committed by Jason Liu
parent 06f9c388cf
commit a75f23f0c0
1 changed files with 2 additions and 0 deletions

View File

@ -796,6 +796,8 @@ irqreturn_t ci_otg_fsm_irq(struct ci_hdrc *ci)
fsm->b_sess_vld = 0;
if (fsm->id)
ci_otg_add_timer(ci, B_SSEND_SRP);
if (fsm->b_bus_req)
fsm->b_bus_req = 0;
}
} else if (otg_int_src & OTGSC_AVVIS) {
hw_write_otgsc(ci, OTGSC_AVVIS, OTGSC_AVVIS);