diff options
author | Badhri Jagan Sridharan <badhri@google.com> | 2017-08-28 10:23:22 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-08-29 08:21:11 +0200 |
commit | 56277035c294ec4877aabc97febcf55a2b3ef397 (patch) | |
tree | 5f464bf7ea1dd05284bce0f3991f3942e277af4d | |
parent | f451ac9e4c6dd2c9ee5397a28a60084fc77f63d7 (diff) | |
download | linux-stable-56277035c294ec4877aabc97febcf55a2b3ef397.tar.gz linux-stable-56277035c294ec4877aabc97febcf55a2b3ef397.tar.bz2 linux-stable-56277035c294ec4877aabc97febcf55a2b3ef397.zip |
staging: typec: tcpm: Switch to PORT_RESET instead of SNK_UNATTACHED
When VBUS is not discovered within PD_T_PS_SOURCE_ON although Rp
is detected on CC, TCPM switches the port to SNK_UNATTACHED
state. SNK_UNATTACHED, however does not force TYPEC_CC_OPEN which
makes the partner(source) to think that it is connected.
To overcome this issue, force the port into PORT_RESET state
to make sure the CC lines are open.
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/typec/tcpm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/typec/tcpm.c b/drivers/staging/typec/tcpm.c index cbfb1a49344f..2ce02aba039a 100644 --- a/drivers/staging/typec/tcpm.c +++ b/drivers/staging/typec/tcpm.c @@ -2385,7 +2385,7 @@ static void run_state_machine(struct tcpm_port *port) 0); else /* Wait for VBUS, but not forever */ - tcpm_set_state(port, SNK_UNATTACHED, PD_T_PS_SOURCE_ON); + tcpm_set_state(port, PORT_RESET, PD_T_PS_SOURCE_ON); break; case SRC_TRY: |