From e3365e961d1cd7f282ead0bcdaefc88eaea265bc Mon Sep 17 00:00:00 2001 From: Sam Hurst Date: Sat, 21 Jan 2023 20:05:37 -0800 Subject: [PATCH] usb-c: tcpc: Simplify Hard Reset complete logic This change simplifies the Hard Reset complete logic Signed-off-by: Sam Hurst --- drivers/usb_c/tcpc/ucpd_stm32.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/usb_c/tcpc/ucpd_stm32.c b/drivers/usb_c/tcpc/ucpd_stm32.c index 1469861add5..a0764bbef54 100644 --- a/drivers/usb_c/tcpc/ucpd_stm32.c +++ b/drivers/usb_c/tcpc/ucpd_stm32.c @@ -794,15 +794,14 @@ static void ucpd_manage_tx(struct alert_info *info) break; case STATE_HARD_RESET: - if (atomic_test_and_clear_bit(&info->evt, UCPD_EVT_HR_DONE)) { + if (atomic_test_bit(&info->evt, UCPD_EVT_HR_DONE) || + atomic_test_bit(&info->evt, UCPD_EVT_HR_FAIL)) { + atomic_clear_bit(&info->evt, UCPD_EVT_HR_DONE); + atomic_clear_bit(&info->evt, UCPD_EVT_HR_FAIL); /* HR complete, reset tx state values */ ucpd_set_tx_state(info->dev, STATE_IDLE); data->ucpd_tx_request = 0; data->tx_retry_count = 0; - } else if (atomic_test_and_clear_bit(&info->evt, UCPD_EVT_HR_FAIL)) { - ucpd_set_tx_state(info->dev, STATE_IDLE); - data->ucpd_tx_request = 0; - data->tx_retry_count = 0; } break; }