From 77c7a51e4d0a448adf0aab8539a4638ec09ea606 Mon Sep 17 00:00:00 2001 From: Sam Hurst Date: Sat, 24 Dec 2022 06:58:29 -0800 Subject: [PATCH] usb_c: Remove unnecessary code from PE_Send_Soft_Reset Remove unnecessary code from PE_Send_Soft_Reset Signed-off-by: Sam Hurst --- subsys/usb/usb_c/usbc_pe_snk_states.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/subsys/usb/usb_c/usbc_pe_snk_states.c b/subsys/usb/usb_c/usbc_pe_snk_states.c index 5759703e484..8c21d3049d2 100644 --- a/subsys/usb/usb_c/usbc_pe_snk_states.c +++ b/subsys/usb/usb_c/usbc_pe_snk_states.c @@ -711,19 +711,26 @@ void pe_send_soft_reset_run(void *obj) } else if (atomic_test_and_clear_bit(pe->flags, PE_FLAGS_TX_COMPLETE)) { /* Start SenderResponse timer */ usbc_timer_start(&pe->pd_t_sender_response); - } else if (atomic_test_and_clear_bit(pe->flags, PE_FLAGS_MSG_RECEIVED)) { + } + /* + * The Policy Engine Shall transition to the PE_SNK_Wait_for_Capabilities + * state when: + * 1: An Accept Message has been received on SOP + */ + else if (atomic_test_and_clear_bit(pe->flags, PE_FLAGS_MSG_RECEIVED)) { header = prl_rx->emsg.header; if (received_control_message(dev, header, PD_CTRL_ACCEPT)) { pe_set_state(dev, PE_SNK_WAIT_FOR_CAPABILITIES); } - } else if (atomic_test_bit(pe->flags, PE_FLAGS_PROTOCOL_ERROR) || + } + /* + * The Policy Engine Shall transition to the PE_SNK_Hard_Reset state when: + * 1: A SenderResponseTimer timeout occurs + * 2: Or the Protocol Layer indicates that a transmission error has occurred + */ + else if (atomic_test_bit(pe->flags, PE_FLAGS_PROTOCOL_ERROR) || usbc_timer_expired(&pe->pd_t_sender_response)) { - if (atomic_test_bit(pe->flags, PE_FLAGS_PROTOCOL_ERROR)) { - atomic_clear_bit(pe->flags, PE_FLAGS_PROTOCOL_ERROR); - } else { - policy_notify(dev, PORT_PARTNER_NOT_RESPONSIVE); - } pe_set_state(dev, PE_SNK_HARD_RESET); } }