summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam McNally <sammc@chromium.org>2020-02-05 17:16:06 +1100
committerCommit Bot <commit-bot@chromium.org>2020-03-07 13:25:02 +0000
commit6ed78687accb229bc797c08e58c55e2c1601477d (patch)
treee2eab7f0270f0dca5709946bb22baa8aa803edb2
parentac116965e0cf0e828a9ca203882ddb02be273faa (diff)
downloadchrome-ec-6ed78687accb229bc797c08e58c55e2c1601477d.tar.gz
TCPMv2: Don't interpret the CMD_DP_STATUS request as its response.
When a CMD_DP_STATUS response is received, both pe_vdm_acked_entry() and pe_do_port_discovery_run() invoke dfp_consume_attention(). However, pe_do_port_discovery_run() passes the message request after pe_vdm_acked_entry() invokes it correctly, overwriting the capabilities, resulting in only DP being enabled. Remove the additional call to dfp_consume_attention(). Similarly, when a CMD_DP_CONFIG response is received, both functions invoke post_config(). No arguments are passed so this is just unnecessary rather than harmful. Clean up the additional call here too. BUG=b:150652876 TEST=Puff with TCPMv2 enabled enables both HDMI and USB 3.0 for a dock with HDMI and 3.0. BRANCH=none Change-Id: I3ef89e63f6b930b7cf7c7fa694cacf99ae47d053 Signed-off-by: Sam McNally <sammc@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2038550 Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Tested-by: Peter Marheine <pmarheine@chromium.org>
-rw-r--r--common/usbc/usb_pe_drp_sm.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index d1e1b6bc56..2f627f367f 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -3808,19 +3808,11 @@ static void pe_do_port_discovery_run(int port)
break;
case CMD_DP_STATUS:
pe[port].vdm_cmd = CMD_DP_CONFIG;
-
- /*
- * DP status response & UFP's DP attention have same
- * payload
- */
- dfp_consume_attention(port, pe[port].vdm_data);
if (modep && modep->opos)
ret = modep->fx->config(port,
pe[port].vdm_data);
break;
case CMD_DP_CONFIG:
- if (modep && modep->opos && modep->fx->post_config)
- modep->fx->post_config(port);
PE_SET_FLAG(port, PE_FLAGS_DISCOVER_PORT_IDENTITY_DONE);
break;
case CMD_EXIT_MODE: