diff --git a/build/tools/amebasmart/gnu_utility/km0_km4_app.bin b/build/tools/amebasmart/gnu_utility/km0_km4_app.bin index 5a46ae3b8e..0fe165d277 100644 Binary files a/build/tools/amebasmart/gnu_utility/km0_km4_app.bin and b/build/tools/amebasmart/gnu_utility/km0_km4_app.bin differ diff --git a/build/tools/amebasmart/gnu_utility/km0_km4_app_RELEASE_NOTE.txt b/build/tools/amebasmart/gnu_utility/km0_km4_app_RELEASE_NOTE.txt index ddb4a45421..011f52beb2 100644 --- a/build/tools/amebasmart/gnu_utility/km0_km4_app_RELEASE_NOTE.txt +++ b/build/tools/amebasmart/gnu_utility/km0_km4_app_RELEASE_NOTE.txt @@ -1,5 +1,8 @@ /* == "version" + "Realtek git version" + "compile date" + "compile time" == */ +== version f71f367333 2025/02/03-16:19:02 == +1. Modify implementation for obtaining TX Retry count + == version d70af7fe9f 2025/01/23-16:06:03 == 1. Add condition to check TizenRT status before printing IPC error logs diff --git a/os/board/rtl8730e/src/component/wifi/inic/inic_ipc_host_api_ext.c b/os/board/rtl8730e/src/component/wifi/inic/inic_ipc_host_api_ext.c index 11dead823c..0e2a053c93 100644 --- a/os/board/rtl8730e/src/component/wifi/inic/inic_ipc_host_api_ext.c +++ b/os/board/rtl8730e/src/component/wifi/inic/inic_ipc_host_api_ext.c @@ -1086,6 +1086,7 @@ unsigned int wifi_get_tx_retry(int idx) ALIGNMTO(CACHE_LINE_SIZE) u8 flag[CACHE_LINE_ALIGMENT(64)]; ALIGNMTO(CACHE_LINE_SIZE) u32 tx_retry_cnt[16]; IPC_MSG_STRUCT ipc_req_msg __attribute__((aligned(64))); + u32 try_cnt = 50000;//wait 100ms ipc_req_msg.msg_type = IPC_USER_POINT; ipc_req_msg.msg = (u32)tx_retry_cnt; ipc_req_msg.msg_len = sizeof(tx_retry_cnt); @@ -1098,12 +1099,18 @@ unsigned int wifi_get_tx_retry(int idx) DCache_Clean((u32)tx_retry_cnt, sizeof(tx_retry_cnt)); ipc_send_message(IPC_AP_TO_LP, IPC_A2L_WIFI_FW_INFO, &ipc_req_msg); - while (1) { + while (try_cnt) { DCache_Invalidate((u32)flag, sizeof(flag)); + try_cnt --; + DelayUs(2); if (flag[0]) { break; } } + if (try_cnt == 0) { + RTW_API_INFO("Cannot get TX retry\n"); + return 0; + } DCache_Invalidate((u32)tx_retry_cnt, sizeof(tx_retry_cnt)); /* Retry count will be at index 1 */ return tx_retry_cnt[1];