qcacld-3.0: Print roam message info in kmsg

The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the roam RSSI TH reset.
This helps in debugging/understanding the scenario when roam
failure happens.
Print the info received related to roam RSSI TH reset into kmsg.

Change-Id: Ibee9fc6e9220511d6679efb24080c79bcd807ab8
CRs-Fixed: 2826321
This commit is contained in:
Abhinav Kumar
2020-11-25 13:36:22 +05:30
committed by snandini
parent b0805e6468
commit 482acb4555
6 changed files with 187 additions and 23 deletions

View File

@@ -1452,6 +1452,41 @@ extract_roam_initial_info_tlv(wmi_unified_t wmi_handle, void *evt_buf,
return QDF_STATUS_SUCCESS;
}
/**
* extract_roam_msg_info_tlv() - Extract the roam message info
* from the WMI_ROAM_STATS_EVENTID
* @wmi_handle: wmi handle
* @evt_buf: Pointer to the event buffer
* @dst: Pointer to destination structure to fill data
* @idx: TLV id
*/
static QDF_STATUS
extract_roam_msg_info_tlv(wmi_unified_t wmi_handle, void *evt_buf,
struct roam_msg_info *dst, uint8_t idx)
{
WMI_ROAM_STATS_EVENTID_param_tlvs *param_buf;
wmi_roam_msg_info *src_data = NULL;
param_buf = (WMI_ROAM_STATS_EVENTID_param_tlvs *)evt_buf;
if (!param_buf || !param_buf->roam_msg_info ||
!param_buf->num_roam_msg_info ||
idx >= param_buf->num_roam_msg_info) {
wmi_debug("Empty roam_msg_info param buf");
return QDF_STATUS_SUCCESS;
}
src_data = &param_buf->roam_msg_info[idx];
dst->present = true;
dst->timestamp = src_data->timestamp;
dst->msg_id = src_data->msg_id;
dst->msg_param1 = src_data->msg_param1;
dst->msg_param2 = src_data->msg_param2;
return QDF_STATUS_SUCCESS;
}
void wmi_roam_offload_attach_tlv(wmi_unified_t wmi_handle)
{
struct wmi_ops *ops = wmi_handle->ops;
@@ -1459,6 +1494,7 @@ void wmi_roam_offload_attach_tlv(wmi_unified_t wmi_handle)
ops->extract_roam_btm_response_stats =
extract_roam_btm_response_stats_tlv;
ops->extract_roam_initial_info = extract_roam_initial_info_tlv;
ops->extract_roam_msg_info = extract_roam_msg_info_tlv;
ops->send_set_ric_req_cmd = send_set_ric_req_cmd_tlv;
ops->send_process_roam_synch_complete_cmd =
@@ -1483,6 +1519,12 @@ extract_roam_initial_info_tlv(wmi_unified_t wmi_handle, void *evt_buf,
return QDF_STATUS_E_NOSUPPORT;
}
static inline QDF_STATUS
extract_roam_msg_info_tlv(wmi_unified_t wmi_handle, void *evt_buf,
struct roam_msg_info *dst, uint8_t idx)
{
return QDF_STATUS_E_NOSUPPORT;
}
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
#define ROAM_OFFLOAD_PMK_EXT_BYTES 16