Parcourir la source

qcacld-3.0: Cache set HW mode response status

Currently, Host is not caching the response status for the set HW mode
request. Without this status, it is difficult to debug HW mode mismatch
between host and FW when the logs are not available during the set HW
mode command.

To address this, cache the set HW mode response status.

Change-Id: I61b935d54648bc80901bfe7127227ffaa8d7cd7b
CRs-Fixed: 3076445
Arun Kumar Khandavalli il y a 3 ans
Parent
commit
f61a0e0cea
2 fichiers modifiés avec 3 ajouts et 0 suppressions
  1. 2 0
      core/wma/inc/wma.h
  2. 1 0
      core/wma/src/wma_main.c

+ 2 - 0
core/wma/inc/wma.h

@@ -903,6 +903,7 @@ struct wma_wlm_stats_data {
  * @wma_fw_time_sync_timer: timer used for firmware time sync
  * * @fw_therm_throt_support: FW Supports thermal throttling?
  * @eht_cap: 802.11be capabilities
+ * @set_hw_mode_resp_status: Set HW mode response status
  *
  * This structure is the global wma context.  It contains global wma
  * module parameters and handles of other modules.
@@ -1037,6 +1038,7 @@ typedef struct {
 	qdf_atomic_t go_num_clients_connected;
 	qdf_wake_lock_t sap_d3_wow_wake_lock;
 	qdf_wake_lock_t go_d3_wow_wake_lock;
+	enum set_hw_mode_status set_hw_mode_resp_status;
 } t_wma_handle, *tp_wma_handle;
 
 /**

+ 1 - 0
core/wma/src/wma_main.c

@@ -3717,6 +3717,7 @@ static int wma_pdev_set_hw_mode_resp_evt_handler(void *handle,
 	hw_mode_resp->cfgd_hw_mode_index = wmi_event->cfgd_hw_mode_index;
 	hw_mode_resp->num_vdev_mac_entries = wmi_event->num_vdev_mac_entries;
 
+	wma->set_hw_mode_resp_status = wmi_event->status;
 	wma_debug("status:%d cfgd_hw_mode_index:%d num_vdev_mac_entries:%d",
 			wmi_event->status,
 			wmi_event->cfgd_hw_mode_index,