qcacld-3.0: Print BTM RSP and initial roam 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 btm response. This helps in debugging/understanding the scenario when roam failure happens. Print the info received related to btm rsp and roam initial info into kmsg. Change-Id: Icb2058eed5df3265018b3c53548d123f3a4faf4f CRs-Fixed: 2728267
此提交包含在:
@@ -29,6 +29,34 @@
|
||||
#include "wlan_mlme_api.h"
|
||||
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
/**
|
||||
* wlan_cm_roam_extract_btm_response() - Extract BTM rsp stats
|
||||
* @wmi: wmi handle
|
||||
* @evt_buf: Pointer to the event buffer
|
||||
* @dst: Pointer to destination structure to fill data
|
||||
* @idx: TLV id
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_cm_roam_extract_btm_response(wmi_unified_t wmi, void *evt_buf,
|
||||
struct roam_btm_response_data *dst,
|
||||
uint8_t idx);
|
||||
|
||||
/**
|
||||
* wlan_cm_roam_extract_roam_initial_info() - Extract Roam Initial stats
|
||||
* @wmi: wmi handle
|
||||
* @evt_buf: Pointer to the event buffer
|
||||
* @dst: Pointer to destination structure to fill data
|
||||
* @idx: TLV id
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_cm_roam_extract_roam_initial_info(wmi_unified_t wmi, void *evt_buf,
|
||||
struct roam_initial_data *dst,
|
||||
uint8_t idx);
|
||||
|
||||
/**
|
||||
* wlan_cm_roam_activate_pcl_per_vdev - Set the PCL command to be sent per
|
||||
* vdev instead of pdev.
|
||||
@@ -114,5 +142,22 @@ static inline void
|
||||
wlan_cm_dual_sta_roam_update_connect_channels(struct wlan_objmgr_psoc *psoc,
|
||||
struct scan_filter *filter)
|
||||
{}
|
||||
|
||||
static inline QDF_STATUS
|
||||
wlan_cm_roam_extract_btm_response(wmi_unified_t wmi, void *evt_buf,
|
||||
struct roam_btm_response_data *dst,
|
||||
uint8_t idx)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
wlan_cm_roam_extract_roam_initial_info(wmi_unified_t wmi, void *evt_buf,
|
||||
struct roam_initial_data *dst,
|
||||
uint8_t idx)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif /* FEATURE_ROAM_OFFLOAD */
|
||||
#endif /* WLAN_CM_ROAM_API_H__ */
|
||||
|
@@ -21,9 +21,10 @@
|
||||
#ifndef CM_ROAM_PUBLIC_STRUCT_H__
|
||||
#define CM_ROAM_PUBLIC_STRUCT_H__
|
||||
|
||||
#include "wlan_policy_mgr_public_struct.h"
|
||||
#include "wlan_objmgr_cmn.h"
|
||||
#include "reg_services_public_struct.h"
|
||||
#include "wmi_unified_param.h"
|
||||
#include "wmi_unified_sta_param.h"
|
||||
|
||||
#if defined(WLAN_FEATURE_HOST_ROAM) || defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
/**
|
||||
@@ -49,6 +50,36 @@ enum roam_offload_state {
|
||||
WLAN_ROAM_SYNCH_IN_PROG,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct roam_btm_response_data - BTM response related data
|
||||
* @present: Flag to check if the roam btm_rsp tlv is present
|
||||
* @btm_status: Btm request status
|
||||
* @target_bssid: AP MAC address
|
||||
* @vsie_reason: Vsie_reason value
|
||||
*/
|
||||
struct roam_btm_response_data {
|
||||
bool present;
|
||||
uint32_t btm_status;
|
||||
struct qdf_mac_addr target_bssid;
|
||||
uint32_t vsie_reason;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct roam_initial_data - Roam initial related data
|
||||
* @present: Flag to check if the roam btm_rsp tlv is present
|
||||
* @roam_full_scan_count: Roam full scan count
|
||||
* @rssi_th: RSSI threhold
|
||||
* @cu_th: Channel utilization threhold
|
||||
* @fw_cancel_timer_bitmap: FW timers, which are getting cancelled
|
||||
*/
|
||||
struct roam_initial_data {
|
||||
bool present;
|
||||
uint32_t roam_full_scan_count;
|
||||
uint32_t rssi_th;
|
||||
uint32_t cu_th;
|
||||
uint32_t fw_cancel_timer_bitmap;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum wlan_cm_rso_control_requestor - Driver disabled roaming requestor that
|
||||
* will request the roam module to disable roaming based on the mlme operation
|
||||
|
@@ -24,8 +24,33 @@
|
||||
#include "wlan_vdev_mlme_api.h"
|
||||
#include "wlan_mlme_main.h"
|
||||
#include "wlan_policy_mgr_api.h"
|
||||
#include <wmi_unified_priv.h>
|
||||
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
QDF_STATUS
|
||||
wlan_cm_roam_extract_btm_response(wmi_unified_t wmi, void *evt_buf,
|
||||
struct roam_btm_response_data *dst,
|
||||
uint8_t idx)
|
||||
{
|
||||
if (wmi->ops->extract_roam_btm_response_stats)
|
||||
return wmi->ops->extract_roam_btm_response_stats(wmi, evt_buf,
|
||||
dst, idx);
|
||||
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_cm_roam_extract_roam_initial_info(wmi_unified_t wmi, void *evt_buf,
|
||||
struct roam_initial_data *dst,
|
||||
uint8_t idx)
|
||||
{
|
||||
if (wmi->ops->extract_roam_initial_info)
|
||||
return wmi->ops->extract_roam_initial_info(wmi, evt_buf,
|
||||
dst, idx);
|
||||
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
void wlan_cm_roam_activate_pcl_per_vdev(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id, bool pcl_per_vdev)
|
||||
{
|
||||
|
新增問題並參考
封鎖使用者