diff options
author | Alec Berg <alecaberg@chromium.org> | 2014-05-22 15:18:42 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-05-23 04:53:29 +0000 |
commit | d3d2c077f0df10d191a8d1fb11ab6f9469506d32 (patch) | |
tree | 108d2a4259126d39dc706291e7ac70894a0b82d7 | |
parent | b19bd8f4382cbb8cd2572d0f9f51a14c91192c1c (diff) | |
download | chrome-ec-d3d2c077f0df10d191a8d1fb11ab6f9469506d32.tar.gz |
pd: when PD sink request is rejected go back to discovery state
When sink receives a power request rejected packet, go back to discovery
state in order to retry transmitting request.
BUG=none
BRANCH=none
TEST=tested with zinger. when zinger has an over current fault, it
rejects requests for power. made sure that when device gets rejected
it goes back to discovery state.
Change-Id: Id532b69f52bd533e5d7ac1171d8833bc993a0e9f
Signed-off-by: Alec Berg <alecaberg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/201157
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r-- | common/usb_pd_protocol.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index 2727bdc05a..00f072e253 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -489,11 +489,12 @@ static void handle_ctrl_request(void *ctxt, uint16_t head, uint32_t *payload) if (pd_role == PD_ROLE_SINK) pd_task_state = PD_STATE_SNK_READY; break; + case PD_CTRL_REJECT: + pd_task_state = PD_STATE_SNK_DISCOVERY; + break; #endif /* CONFIG_USB_PD_DUAL_ROLE */ case PD_CTRL_ACCEPT: break; - case PD_CTRL_REJECT: - break; case PD_CTRL_PROTOCOL_ERR: case PD_CTRL_SWAP: case PD_CTRL_WAIT: |