diff options
author | Bhautik Ardeshana <bhautik.ardeshana@nxp.com> | 2024-04-18 11:06:00 +0530 |
---|---|---|
committer | Ikjoon Jang <ikjn@google.com> | 2024-04-23 08:42:07 +0000 |
commit | ed7f569b3f3e41b0da057d76f60e7089257539c0 (patch) | |
tree | 59a792997bcc8d49eaf733e88f45a136f8f4137c | |
parent | df5cf0a4bdecab9dca3da997e895d37ec6539a2e (diff) | |
download | uwb-ed7f569b3f3e41b0da057d76f60e7089257539c0.tar.gz |
No need to retry for INVALID_LEN/SYNTAX_ERROR
- CMD retry incase of Invalid length/Syntax Error
is not required because CMD is not correctly
formed and it should be reported as failure to app
Bug: 335537429
Test: Manually testing retry implementation
Change-Id: I8ae1483807eb8cea07f4d9a76895e6dcace08c78
-rw-r--r-- | extns/inc/uci_defs.h | 2 | ||||
-rw-r--r-- | halimpl/hal/phNxpUciHal.cc | 5 | ||||
-rw-r--r-- | halimpl/hal/phNxpUciHal_ext.cc | 14 |
3 files changed, 5 insertions, 16 deletions
diff --git a/extns/inc/uci_defs.h b/extns/inc/uci_defs.h index 163a93b..fe4e40a 100644 --- a/extns/inc/uci_defs.h +++ b/extns/inc/uci_defs.h @@ -210,9 +210,7 @@ constexpr uint8_t kSessionType_CCCRanging = 0xA0; /* Generic Status Codes */ #define UCI_STATUS_OK 0x00 #define UCI_STATUS_FAILED 0x02 -#define UCI_STATUS_SYNTAX_ERROR 0x03 #define UCI_STATUS_INVALID_PARAM 0x04 -#define UCI_STATUS_INVALID_MSG_SIZE 0x06 #define UCI_STATUS_COMMAND_RETRY 0x0A #define UCI_STATUS_UNKNOWN 0x0B #define UCI_STATUS_THERMAL_RUNAWAY 0x54 diff --git a/halimpl/hal/phNxpUciHal.cc b/halimpl/hal/phNxpUciHal.cc index c832b9e..ec4c36f 100644 --- a/halimpl/hal/phNxpUciHal.cc +++ b/halimpl/hal/phNxpUciHal.cc @@ -759,9 +759,6 @@ void phNxpUciHal_read_complete(void* pContext, nxpucihal_ctrl.ext_cb_data.status = UWBSTATUS_COMMAND_RETRANSMIT; nxpucihal_ctrl.isSkipPacket = 1; bWakeupExtCmd = true; - } else if (status_code == UCI_STATUS_INVALID_MSG_SIZE || status_code == UCI_STATUS_SYNTAX_ERROR) { - nxpucihal_ctrl.ext_cb_data.status = UWBSTATUS_INVALID_COMMAND_LENGTH; - bWakeupExtCmd = true; } } } @@ -1339,4 +1336,4 @@ void phNxpUciHal_send_dev_error_status_ntf() nxpucihal_ctrl.rx_data_len = 5; static uint8_t rsp_data[5] = {0x60, 0x01, 0x00, 0x01, 0xFF}; (*nxpucihal_ctrl.p_uwb_stack_data_cback)(nxpucihal_ctrl.rx_data_len, rsp_data); -}
\ No newline at end of file +} diff --git a/halimpl/hal/phNxpUciHal_ext.cc b/halimpl/hal/phNxpUciHal_ext.cc index 4c56a74..9d6f3e4 100644 --- a/halimpl/hal/phNxpUciHal_ext.cc +++ b/halimpl/hal/phNxpUciHal_ext.cc @@ -32,7 +32,6 @@ /* Timeout value to wait for response from DEVICE_TYPE_SR1xx */ #define MAX_COMMAND_RETRY_COUNT 5 -#define MAX_COMMAND_RETRY_ON_INVALID_LEN 2 #define HAL_EXTNS_WRITE_RSP_TIMEOUT_MS 100 #define HAL_HW_RESET_NTF_TIMEOUT 10000 /* 10 sec wait */ @@ -84,7 +83,6 @@ tHAL_UWB_STATUS phNxpUciHal_process_ext_cmd_rsp(uint16_t cmd_len, tHAL_UWB_STATUS status = UWBSTATUS_FAILED; int nr_retries = 0; int nr_timedout = 0; - int nr_unrecognized = 0; bool exit_loop = false; while(!exit_loop) { @@ -118,17 +116,13 @@ tHAL_UWB_STATUS phNxpUciHal_process_ext_cmd_rsp(uint16_t cmd_len, // Upper layer should take care of it. nr_retries++; break; - case UWBSTATUS_INVALID_COMMAND_LENGTH: - // Something went wrong, just report this to upper-layer as is. - nr_unrecognized++; - break; default: status = nxpucihal_ctrl.ext_cb_data.status; exit_loop = true; break; } - if (nr_retries >= MAX_COMMAND_RETRY_COUNT || nr_unrecognized >= MAX_COMMAND_RETRY_ON_INVALID_LEN) { + if (nr_retries >= MAX_COMMAND_RETRY_COUNT) { NXPLOG_UCIHAL_E("Failed to process cmd/rsp 0x%x", nxpucihal_ctrl.ext_cb_data.status); status = UWBSTATUS_FAILED; exit_loop = true; @@ -136,9 +130,9 @@ tHAL_UWB_STATUS phNxpUciHal_process_ext_cmd_rsp(uint16_t cmd_len, } } - if (nr_timedout > 0 || nr_unrecognized > 0) { - NXPLOG_UCIHAL_E("Warning: CMD/RSP retried %d times (timeout:%d, unrecognized:%d)\n", - nr_retries, nr_timedout, nr_unrecognized); + if (nr_timedout > 0) { + NXPLOG_UCIHAL_E("Warning: CMD/RSP retried %d times (timeout:%d)\n", + nr_retries, nr_timedout); } clean_and_return: |