summaryrefslogtreecommitdiff
path: root/common/usb_common.c
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@google.com>2020-10-15 14:27:22 -0600
committerCommit Bot <commit-bot@chromium.org>2020-10-16 01:58:01 +0000
commit8ef11a2aae529d46ea0924eb12dd8654ee3859ad (patch)
treedfa041241d111c4381bf1f9f388f06270dd1ac5f /common/usb_common.c
parenta05e4e60626165412a03a8c43d6fbf47d829e5c1 (diff)
downloadchrome-ec-8ef11a2aae529d46ea0924eb12dd8654ee3859ad.tar.gz
tcpmv2: handle custom VDM better
We were receiving a custom VDM that was not one that we would understand and should have gracefully exited from this. BUG=b:158605675 BRANCH=zork TEST=USB-C to HDMI dongle with power attached Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Icf5a699709828c7354d392612a771307bd7a09e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2477235 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'common/usb_common.c')
-rw-r--r--common/usb_common.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/usb_common.c b/common/usb_common.c
index 47b0bc9454..d2a5e43cdb 100644
--- a/common/usb_common.c
+++ b/common/usb_common.c
@@ -622,6 +622,10 @@ __overridable int pd_custom_vdm(int port, int cnt, uint32_t *payload,
if (cnt == 0)
return 0;
+ /* Only handle custom requests for SVID Google */
+ if (PD_VDO_VID(*payload) != USB_VID_GOOGLE)
+ return 0;
+
switch (cmd) {
case VDO_CMD_VERSION:
/* guarantee last byte of payload is null character */