diff --git a/board/dingdong/usb_pd_policy.c b/board/dingdong/usb_pd_policy.c index 7122bfab3d..5ac32bb7e0 100644 --- a/board/dingdong/usb_pd_policy.c +++ b/board/dingdong/usb_pd_policy.c @@ -203,7 +203,14 @@ static int svdm_enter_mode(int port, uint32_t *payload) gfu_mode = 1; rv = 1; } - /* TODO(p/33968): Enumerate USB BB here with updated mode choice */ + + if (rv) + /* + * If we failed initial mode entry we'll have enumerated the USB + * Billboard class. If so we should disconnect. + */ + usb_disconnect(); + return rv; } diff --git a/board/hoho/usb_pd_policy.c b/board/hoho/usb_pd_policy.c index 0c0dd41908..d95c40bb05 100644 --- a/board/hoho/usb_pd_policy.c +++ b/board/hoho/usb_pd_policy.c @@ -202,7 +202,14 @@ static int svdm_enter_mode(int port, uint32_t *payload) gfu_mode = 1; rv = 1; } - /* TODO(p/33968): Enumerate USB BB here with updated mode choice */ + + if (rv) + /* + * If we failed initial mode entry we'll have enumerated the USB + * Billboard class. If so we should disconnect. + */ + usb_disconnect(); + return rv; }