summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorJack Pham <jackp@codeaurora.org>2016-02-10 16:44:27 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:25:53 -0700
commit40a697724b89211485416d5a9a4eafd4d906cd15 (patch)
treeb9a1e5620e7fb24ab63d1d750b4576321b9458f0 /include/uapi
parent7f5ffc4abd4c2cfe7148897f95d4462a123affea (diff)
usb: dwc3-msm: Fix incorrect roles with multiple instances
dwc3_init_sm() uses a static boolean variable which does not play nicely when multiple instances are in use. For instance if one controller is configured in host-only mode, it would set the sm_initialized flag and can force the second controller to also see ID=0 and enter host mode even if it is a peripheral. The false ID=0 is actually caused by the init sequence never actually setting the initial inputs bit, so the state machine simply sees it as unset and proceeds to the A_IDLE case. Fix this by setting it to 1 to match the id_state=FLOAT during probe(). Furthermore, there is no longer any use case for the vbus_init completion since the state machine should only be entered upon event changes anyway. So removing that can allow us to get rid of dwc3_init_sm() entirely. Also ensure that sm_work is unconditionally flushed before processing the initial events. CRs-Fixed: 974882 Change-Id: I48e361a622bffa62ab7fa4c8d2e6719e66b90076 Signed-off-by: Jack Pham <jackp@codeaurora.org>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions