summaryrefslogtreecommitdiff
path: root/driver/wpc
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2019-05-15 11:51:17 -0600
committerchrome-bot <chrome-bot@chromium.org>2019-05-17 18:38:19 -0700
commit0ce5be61be0cedfd737535f3ca97764bc1d946b2 (patch)
treecf3ddf449919c510bf310bc1c024e932b7b136aa /driver/wpc
parent83ea11a4fa470c1de5130d8fd5bfbacf9805278e (diff)
downloadchrome-ec-0ce5be61be0cedfd737535f3ca97764bc1d946b2.tar.gz
USB PD: Don't attempt to exit mode on a suspended port
Since suspended ports run a very tight while loop which does not include the pd_task's event processing, sysjumping an unlocked system with a suspended port hangs forever. A suspended port cannot be in an alternate mode, so this change skips setting PD_EVENT_SYSJUMP for such ports (which, currently, is only used to trigger the exit mode sequence). In the unlikely event that processing a PD interrupt causes the port to suspend after this check and before PD_EVENT_SYSJUMP is set, the sysjump loop will also send the reply event to the caller. BUG=b:131855159 BRANCH=None TEST=set a phaser port to fail TCPC initialization, verified that "sysjump RW" can still succeed with suspended port Change-Id: I948dd419718d0eb2e5ade58970ed36a8bd51b272 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1613640 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Diffstat (limited to 'driver/wpc')
0 files changed, 0 insertions, 0 deletions