diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 01c27f1d06c2..4968bfd5f5ec 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -3263,256 +3263,6 @@ int wma_roam_auth_offload_event_handler(WMA_HANDLE handle, uint8_t *event, } #ifdef WLAN_FEATURE_ROAM_OFFLOAD - -#ifdef FEATURE_WLAN_DIAG_SUPPORT -/** - * wma_diag_log_roam_trigger_info - Send diag log for roam trigger related - * data - * @src: Source roam trigger related data - * @vdev_id: Vdev id - * - * Return: None - */ -static void -wma_diag_log_roam_trigger_info(struct wmi_roam_trigger_info *src, - uint8_t vdev_id) -{ - struct host_log_wlan_roam_trigger_info *roam_trigger_evt = NULL; - - WLAN_HOST_DIAG_LOG_ALLOC(roam_trigger_evt, - struct host_log_wlan_roam_trigger_info, - LOG_WLAN_ROAM_TRIGGER_INFO_C); - if (!roam_trigger_evt) - return; - - roam_trigger_evt->version = 1; - roam_trigger_evt->vdev_id = vdev_id; - roam_trigger_evt->trigger_reason = src->trigger_reason; - roam_trigger_evt->trigger_sub_reason = src->trigger_sub_reason; - roam_trigger_evt->current_rssi = src->current_rssi; - roam_trigger_evt->timestamp = src->timestamp; - - switch (src->trigger_reason) { - case WMI_ROAM_TRIGGER_REASON_PER: - case WMI_ROAM_TRIGGER_REASON_BMISS: - case WMI_ROAM_TRIGGER_REASON_HIGH_RSSI: - case WMI_ROAM_TRIGGER_REASON_PERIODIC: - case WMI_ROAM_TRIGGER_REASON_MAWC: - case WMI_ROAM_TRIGGER_REASON_DENSE: - case WMI_ROAM_TRIGGER_REASON_BACKGROUND: - case WMI_ROAM_TRIGGER_REASON_IDLE: - case WMI_ROAM_TRIGGER_REASON_FORCED: - case WMI_ROAM_TRIGGER_REASON_UNIT_TEST: - break; - case WMI_ROAM_TRIGGER_REASON_BTM: - roam_trigger_evt->btm_trig_data.btm_request_mode = - src->btm_trig_data.btm_request_mode; - roam_trigger_evt->btm_trig_data.disassoc_timer = - src->btm_trig_data.disassoc_timer; - roam_trigger_evt->btm_trig_data.validity_interval = - src->btm_trig_data.validity_interval; - roam_trigger_evt->btm_trig_data.candidate_list_count = - src->btm_trig_data.candidate_list_count; - roam_trigger_evt->btm_trig_data.btm_resp_status = - src->btm_trig_data.btm_resp_status; - break; - case WMI_ROAM_TRIGGER_REASON_DEAUTH: - roam_trigger_evt->deauth_trig_data.type = - src->deauth_trig_data.type; - roam_trigger_evt->deauth_trig_data.reason = - src->deauth_trig_data.reason; - break; - case WMI_ROAM_TRIGGER_REASON_BSS_LOAD: - roam_trigger_evt->cu_load_data.cu_load = - src->cu_trig_data.cu_load; - break; - case WMI_ROAM_TRIGGER_REASON_LOW_RSSI: - roam_trigger_evt->rssi_trig_data.threshold = - src->rssi_trig_data.threshold; - break; - default: - break; - } - - WLAN_HOST_DIAG_LOG_REPORT(roam_trigger_evt); -} - -/** - * wma_diag_log_roam_scan_info - Send diag log for roam scan related info - * @scan: Pointer to source roam scan data - * @vdev_id: vdev id - * @trigger_reason: Roaming trigger reason - * @timestamp: Time of the day in millisecs - * - * Return: None - */ -static void -wma_diag_log_roam_scan_info(struct wmi_roam_scan_data *scan, uint8_t vdev_id, - uint32_t trigger_reason, uint32_t timestamp) -{ - struct host_log_wlan_roam_scan_data *scan_data = NULL; - uint8_t i; - - WLAN_HOST_DIAG_LOG_ALLOC(scan_data, - struct host_log_wlan_roam_scan_data, - LOG_WLAN_ROAM_SCAN_INFO_C); - if (!scan_data) - return; - - scan_data->version = 1; - scan_data->type = scan->type; - scan_data->num_chan = scan->num_chan; - scan_data->next_rssi_threshold = scan->next_rssi_threshold; - scan_data->vdev_id = vdev_id; - scan_data->timestamp = timestamp; - for (i = 0; i < scan_data->num_chan; i++) - scan_data->chan_freq[i] = scan->chan_freq[i]; - - scan_data->num_ap = scan->num_ap; - if (scan->num_ap > MAX_ROAM_CANDIDATE_AP) - scan_data->num_ap = MAX_ROAM_CANDIDATE_AP; - - for (i = 0; i < scan_data->num_ap; i++) { - scan_data->ap[i].version = 1; - scan_data->ap[i].timestamp = scan->ap[i].timestamp; - scan_data->ap[i].type = scan->ap[i].type; - scan_data->ap[i].freq = scan->ap[i].freq; - scan_data->ap[i].cu_load = scan->ap[i].cu_load; - scan_data->ap[i].cu_score = scan->ap[i].cu_score; - scan_data->ap[i].rssi = scan->ap[i].rssi; - scan_data->ap[i].rssi_score = scan->ap[i].rssi_score; - scan_data->ap[i].total_score = scan->ap[i].total_score; - scan_data->ap[i].etp = scan->ap[i].etp; - qdf_mem_copy(scan_data->ap[i].bssid, scan->ap[i].bssid.bytes, - QDF_MAC_ADDR_SIZE); - } - - WLAN_HOST_DIAG_LOG_REPORT(scan_data); -} - -/** - * wma_diag_log_roam_result - Send diag log for roaming result - * @res: Pointer to the source roam result data - * @vdev_id: vdev id - * - * Return: None - */ -static void -wma_diag_log_roam_result(struct wmi_roam_result *res, uint8_t vdev_id) -{ - struct host_log_wlan_roam_result_info *roam_result = NULL; - - WLAN_HOST_DIAG_LOG_ALLOC(roam_result, - struct host_log_wlan_roam_result_info, - LOG_WLAN_ROAM_RESULT_INFO_C); - if (!roam_result) - return; - - roam_result->version = 1; - roam_result->vdev_id = vdev_id; - if (res->status) - roam_result->status = true; - else - roam_result->status = false; - - roam_result->timestamp = res->timestamp; - roam_result->fail_reason = res->fail_reason; - - WLAN_HOST_DIAG_LOG_REPORT(roam_result); -} - -/** - * wma_diag_log_11kv_info - Send diag log for 11kv neighbor/btm - * report/request. - * @neigh_rpt: Pointer to the source 11kv data structure - * @vdev_id: Vdev id - * @is_roam_success: Roaming success or failure - * - * Return: None - */ -static void -wma_diag_log_11kv_info(struct wmi_neighbor_report_data *neigh_rpt, - uint8_t vdev_id, bool is_roam_success) -{ - struct host_log_wlan_rrm_tx_rx_info *rrm_tx = NULL; - struct host_log_wlan_rrm_tx_rx_info *rrm_rx = NULL; - uint8_t i; - - WLAN_HOST_DIAG_LOG_ALLOC(rrm_rx, struct host_log_wlan_rrm_tx_rx_info, - LOG_WLAN_RRM_TX_RX_INFO_C); - if (!rrm_rx) - return; - - WLAN_HOST_DIAG_LOG_ALLOC(rrm_tx, struct host_log_wlan_rrm_tx_rx_info, - LOG_WLAN_RRM_TX_RX_INFO_C); - if (!rrm_tx) { - qdf_mem_free(rrm_rx); - return; - } - - rrm_rx->version = 1; - rrm_rx->vdev_id = vdev_id; - rrm_rx->origin = FW; - rrm_rx->is_tx = false; - rrm_rx->timestamp = neigh_rpt->req_time; - rrm_rx->roam_result = is_roam_success; - - if (neigh_rpt->req_type) { - rrm_rx->action_category = ACTION_CATEGORY_WNM; - rrm_rx->rrm_action_code = WNM_BSS_TM_REQUEST; - } else { - rrm_rx->action_category = ACTION_CATEGORY_RRM; - rrm_rx->rrm_action_code = RRM_NEIGHBOR_REQ; - } - - rrm_rx->req_num_freq = neigh_rpt->num_freq; - for (i = 0; i < neigh_rpt->num_freq; i++) - rrm_rx->req_freq[i] = neigh_rpt->freq[i]; - - WLAN_HOST_DIAG_LOG_REPORT(rrm_rx); - - rrm_tx->version = 1; - rrm_tx->vdev_id = vdev_id; - rrm_tx->is_tx = true; - rrm_tx->origin = FW; - rrm_tx->timestamp = neigh_rpt->resp_time; - rrm_tx->roam_result = is_roam_success; - - if (neigh_rpt->req_type) { - rrm_tx->action_category = ACTION_CATEGORY_WNM; - rrm_tx->rrm_action_code = WNM_BSS_TM_RESPONSE; - } else { - rrm_tx->action_category = ACTION_CATEGORY_RRM; - rrm_tx->rrm_action_code = RRM_NEIGHBOR_RPT; - } - - WLAN_HOST_DIAG_LOG_REPORT(rrm_tx); -} -#else -static inline void -wma_diag_log_roam_scan_info(struct wmi_roam_scan_data *scan, uint8_t vdev_id, - uint32_t trigger_reason, uint32_t timestamp) -{ -} - -static inline void -wma_diag_log_roam_trigger_info(struct wmi_roam_trigger_info *src, - uint8_t vdev_id) -{ -} - -static inline void -wma_diag_log_roam_result(struct wmi_roam_result *res, uint8_t vdev_id) -{ -} - -static void -wma_diag_log_11kv_info(struct wmi_neighbor_report_data *neigh_rpt, - uint8_t vdev_id, bool is_roam_success) -{ -} -#endif - /** * wma_get_trigger_detail_str - Return roam trigger string from the * enum WMI_ROAM_TRIGGER_REASON @@ -3986,24 +3736,6 @@ int wma_roam_stats_event_handler(WMA_HANDLE handle, uint8_t *event, if (roam_info->data_11kv.present) wma_rso_print_11kv_info(&roam_info->data_11kv, vdev_id); - /* CNSS diag log*/ - if (roam_info->trigger.present) - wma_diag_log_roam_trigger_info(&roam_info->trigger, - vdev_id); - - if (roam_info->scan.present) - wma_diag_log_roam_scan_info( - &roam_info->scan, vdev_id, - roam_info->trigger.trigger_reason, - roam_info->trigger.timestamp); - - if (roam_info->result.present) - wma_diag_log_roam_result(&roam_info->result, vdev_id); - - if (roam_info->data_11kv.present) - wma_diag_log_11kv_info(&roam_info->data_11kv, vdev_id, - roam_info->result.status); - qdf_mem_free(roam_info); }