diff --git a/wmi/inc/wmi_unified_priv.h b/wmi/inc/wmi_unified_priv.h index 98608bc4af..40ed66b0db 100644 --- a/wmi/inc/wmi_unified_priv.h +++ b/wmi/inc/wmi_unified_priv.h @@ -2375,6 +2375,7 @@ QDF_STATUS (*extract_vdev_peer_delete_all_response_event)( bool (*is_management_record)(uint32_t cmd_id); bool (*is_diag_event)(uint32_t event_id); +bool (*is_force_fw_hang_cmd)(uint32_t event_id); uint8_t *(*wmi_id_to_name)(uint32_t cmd_id); QDF_STATUS (*send_dfs_phyerr_offload_en_cmd)(wmi_unified_t wmi_handle, uint32_t pdev_id); diff --git a/wmi/src/wmi_unified.c b/wmi/src/wmi_unified.c index 3d8b559506..fcaaaf06df 100644 --- a/wmi/src/wmi_unified.c +++ b/wmi/src/wmi_unified.c @@ -3567,6 +3567,11 @@ static void wmi_htc_tx_complete(void *ctx, HTC_PACKET *htc_pkt) WMI_MGMT_COMMAND_TX_CMP_RECORD(wmi_handle, cmd_id, offset_ptr); } else { + if (wmi_handle->ops->is_force_fw_hang_cmd(cmd_id)) { + wmi_info("Tx completion received for WMI_FORCE_FW_HANG_CMDID, current_time:%ld", + qdf_mc_timer_get_system_time()); + } + WMI_COMMAND_TX_CMP_RECORD(wmi_handle, cmd_id, offset_ptr, dma_addr, phy_addr); diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 07c174889b..971e94cee1 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -2832,6 +2832,8 @@ static QDF_STATUS send_crash_inject_cmd_tlv(wmi_unified_t wmi_handle, cmd->delay_time_ms = param->delay_time_ms; wmi_mtrace(WMI_FORCE_FW_HANG_CMDID, NO_SESSION, 0); + wmi_info("type:%d delay_time_ms:%d current_time:%ld", + cmd->type, cmd->delay_time_ms, qdf_mc_timer_get_system_time()); ret = wmi_unified_cmd_send(wmi_handle, buf, len, WMI_FORCE_FW_HANG_CMDID); if (ret) { @@ -15997,6 +15999,14 @@ static bool is_management_record_tlv(uint32_t cmd_id) } } +static bool is_force_fw_hang_cmd_tlv(uint32_t cmd_id) +{ + if (cmd_id == WMI_FORCE_FW_HANG_CMDID) + return true; + + return false; +} + static bool is_diag_event_tlv(uint32_t event_id) { if (WMI_DIAG_EVENTID == event_id) @@ -21472,6 +21482,7 @@ struct wmi_ops tlv_ops = { send_wlan_profile_hist_intvl_cmd_tlv, .is_management_record = is_management_record_tlv, .is_diag_event = is_diag_event_tlv, + .is_force_fw_hang_cmd = is_force_fw_hang_cmd_tlv, #ifdef WLAN_FEATURE_ACTION_OUI .send_action_oui_cmd = send_action_oui_cmd_tlv, #endif