1
0
Fork 0

MLK-9617-13 usb: core: otg: do quick bus reset after clear connection change

This patch changes bus reset time for B host enumuration, from entering B host
to the time clear USB_PORT_FEAT_C_CONNECTION, a random time after B host detect
port change for A peripheral connection may not work.

Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit b87d3bb0672ebcfb29c7db8708c586b2d38558d1)
(cherry picked from commit f3ec1858d5293de28476996a59287b7adb8e9cd2)
pull/10/head
Li Jun 2014-10-16 22:17:50 +08:00 committed by Jason Liu
parent 037a00426c
commit a355897936
2 changed files with 4 additions and 2 deletions

View File

@ -289,8 +289,6 @@ static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state)
otg_loc_conn(fsm, 0);
otg_loc_sof(fsm, 1);
otg_set_protocol(fsm, PROTO_HOST);
usb_bus_start_enum(fsm->otg->host,
fsm->otg->host->otg_port);
otg_start_hnp_polling(fsm);
break;
case OTG_STATE_A_IDLE:

View File

@ -1116,6 +1116,10 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
need_debounce_delay = true;
usb_clear_port_feature(hub->hdev, port1,
USB_PORT_FEAT_C_CONNECTION);
#ifdef CONFIG_USB_OTG
if (hdev->bus->is_b_host)
usb_bus_start_enum(hdev->bus, port1);
#endif
}
if (portchange & USB_PORT_STAT_C_ENABLE) {
need_debounce_delay = true;