summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhautik Ardeshana <bhautik.ardeshana@nxp.com>2024-04-18 11:06:00 +0530
committerIkjoon Jang <ikjn@google.com>2024-04-23 08:42:07 +0000
commited7f569b3f3e41b0da057d76f60e7089257539c0 (patch)
tree59a792997bcc8d49eaf733e88f45a136f8f4137c
parentdf5cf0a4bdecab9dca3da997e895d37ec6539a2e (diff)
downloaduwb-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.h2
-rw-r--r--halimpl/hal/phNxpUciHal.cc5
-rw-r--r--halimpl/hal/phNxpUciHal_ext.cc14
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: