summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBadhri Jagan Sridharan <badhri@google.com>2017-08-28 10:23:22 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-08-29 08:21:11 +0200
commit56277035c294ec4877aabc97febcf55a2b3ef397 (patch)
tree5f464bf7ea1dd05284bce0f3991f3942e277af4d
parentf451ac9e4c6dd2c9ee5397a28a60084fc77f63d7 (diff)
downloadlinux-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.c2
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: