|
@@ -2154,9 +2154,13 @@ int wma_roam_stats_event_handler(WMA_HANDLE handle, uint8_t *event,
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
- if (roam_info->trigger.present)
|
|
|
|
|
|
+ if (roam_info->trigger.present) {
|
|
wma_rso_print_trigger_info(&roam_info->trigger,
|
|
wma_rso_print_trigger_info(&roam_info->trigger,
|
|
vdev_id);
|
|
vdev_id);
|
|
|
|
+ wlan_cm_update_roam_states(wma->psoc, vdev_id,
|
|
|
|
+ roam_info->trigger.trigger_reason,
|
|
|
|
+ ROAM_TRIGGER_REASON);
|
|
|
|
+ }
|
|
|
|
|
|
/* Roam scan related details - Scan channel, scan type .. */
|
|
/* Roam scan related details - Scan channel, scan type .. */
|
|
status = wmi_unified_extract_roam_scan_stats(
|
|
status = wmi_unified_extract_roam_scan_stats(
|
|
@@ -2187,9 +2191,12 @@ int wma_roam_stats_event_handler(WMA_HANDLE handle, uint8_t *event,
|
|
qdf_mem_free(roam_info);
|
|
qdf_mem_free(roam_info);
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
- if (roam_info->result.present)
|
|
|
|
|
|
+ if (roam_info->result.present) {
|
|
wma_rso_print_roam_result(&roam_info->result, vdev_id);
|
|
wma_rso_print_roam_result(&roam_info->result, vdev_id);
|
|
-
|
|
|
|
|
|
+ wlan_cm_update_roam_states(wma->psoc, vdev_id,
|
|
|
|
+ roam_info->result.fail_reason,
|
|
|
|
+ ROAM_FAIL_REASON);
|
|
|
|
+ }
|
|
/* BTM resp info */
|
|
/* BTM resp info */
|
|
status = wlan_cm_roam_extract_btm_response(wma->wmi_handle,
|
|
status = wlan_cm_roam_extract_btm_response(wma->wmi_handle,
|
|
event,
|
|
event,
|
|
@@ -4464,6 +4471,10 @@ int wma_roam_event_callback(WMA_HANDLE handle, uint8_t *event_buf,
|
|
wma_handle->csr_roam_synch_cb(wma_handle->mac_context,
|
|
wma_handle->csr_roam_synch_cb(wma_handle->mac_context,
|
|
roam_synch_data, NULL,
|
|
roam_synch_data, NULL,
|
|
SIR_ROAMING_INVOKE_FAIL);
|
|
SIR_ROAMING_INVOKE_FAIL);
|
|
|
|
+ wlan_cm_update_roam_states(wma_handle->psoc, wmi_event->vdev_id,
|
|
|
|
+ wmi_event->notif_params,
|
|
|
|
+ ROAM_INVOKE_FAIL_REASON);
|
|
|
|
+
|
|
qdf_mem_free(roam_synch_data);
|
|
qdf_mem_free(roam_synch_data);
|
|
break;
|
|
break;
|
|
case WMI_ROAM_REASON_DEAUTH:
|
|
case WMI_ROAM_REASON_DEAUTH:
|