Skip to content

Commit f44078f

Browse files
RD Babierajfvogel
authored andcommitted
usb: typec: tcpm: delay SNK_TRY_WAIT_DEBOUNCE to SRC_TRYWAIT transition
commit e918d39 upstream. This patch fixes Type-C Compliance Test TD 4.7.6 - Try.SNK DRP Connect SNKAS. The compliance tester moves into SNK_UNATTACHED during toggling and expects the PUT to apply Rp after tPDDebounce of detection. If the port is in SNK_TRY_WAIT_DEBOUNCE, it will move into SRC_TRYWAIT immediately and apply Rp. This violates TD 4.7.5.V.3, where the tester confirms that the PUT attaches Rp after the transitions to Unattached.SNK for tPDDebounce. Change the tcpm_set_state delay between SNK_TRY_WAIT_DEBOUNCE and SRC_TRYWAIT to tPDDebounce. Fixes: a0a3e04 ("staging: typec: tcpm: Check for Rp for tPDDebounce") Cc: stable <[email protected]> Signed-off-by: RD Babiera <[email protected]> Reviewed-by: Badhri Jagan Sridharan <[email protected]> Reviewed-by: Heikki Krogerus <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]> (cherry picked from commit 3366a199483a247e6610fdc9c1de65df68624c7e) Signed-off-by: Jack Vogel <[email protected]>
1 parent 5862195 commit f44078f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/usb/typec/tcpm/tcpm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5890,7 +5890,7 @@ static void _tcpm_cc_change(struct tcpm_port *port, enum typec_cc_status cc1,
58905890
case SNK_TRY_WAIT_DEBOUNCE:
58915891
if (!tcpm_port_is_sink(port)) {
58925892
port->max_wait = 0;
5893-
tcpm_set_state(port, SRC_TRYWAIT, 0);
5893+
tcpm_set_state(port, SRC_TRYWAIT, PD_T_PD_DEBOUNCE);
58945894
}
58955895
break;
58965896
case SRC_TRY_WAIT:

0 commit comments

Comments
 (0)