OSDN Git Service

usb: pd: Send pending VDM message upon entering SNK/SRC_Ready
authorJack Pham <jackp@codeaurora.org>
Thu, 5 Oct 2017 19:51:26 +0000 (12:51 -0700)
committerGerrit - the friendly Code Review server <code-review@localhost>
Fri, 8 Dec 2017 06:38:23 +0000 (22:38 -0800)
commite5f8604fdbb137f26a6cdb89b33b4214ead43dfc
treebebbbef8313be9b5f33c175d2413279b82d9203d
parent7099c46a662042dc275bcaaa90750d11a2d89ac3
usb: pd: Send pending VDM message upon entering SNK/SRC_Ready

Entering SNK_Ready or SRC_Ready state from usbpd_set_state()
is somewhat terminal as it is the end state of a contract
negotiation. If there was a previous pending VDM message
waiting to be sent, for example the start of a Discovery which
was queued prior to a PR Swap, it would not get sent. Check for
this and enqueue usbpd_sm once again so that it could be sent
out. Otherwise, start the Discovery process in case we are
in DFP mode, and do that for SNK_Ready as well.

Change-Id: I4516ccb0deec8cdabdb62d539d7d2b66dc23f1ee
Signed-off-by: Jack Pham <jackp@codeaurora.org>
drivers/usb/pd/policy_engine.c