qcacld-3.0: Log SAE authentication frames as part of roam logs

SAE authentication logging events are sent from host
driver during connection as well as during roaming.
But the other roaming frame related stats are printed
as part of the WMI_ROAM_STATS_EVENTID handling.
Since this roam stats event is received after preauth
frame related logs are queued to userspace, the order
of the logs are not correct.

Cache the SAE preauth logs in mlme and print them
upon receiving ROAM stats event. Read the firmware
service capability to decide if new caching needs
to be used or legacy behavior needs to be followed

Change-Id: I76381b9deef222f1481325974e2b5d9730eb2b67
CRs-Fixed: 3154147
此提交包含在:
Pragaspathi Thilagaraj
2022-04-12 17:29:22 +05:30
提交者 Madan Koyyalamudi
父節點 bdb2216a0f
當前提交 2bbd4b2892
共有 7 個檔案被更改,包括 353 行新增13 行删除

查看文件

@@ -24,9 +24,8 @@
#ifndef _WLAN_CONNECTIVITY_LOGGING_H_
#define _WLAN_CONNECTIVITY_LOGGING_H_
#include <wlan_cm_api.h>
#include "wlan_cm_roam_api.h"
#include "wlan_logging_sock_svc.h"
#include "wlan_cm_roam_public_struct.h"
#define WLAN_MAX_LOGGING_FREQ 90
@@ -400,6 +399,56 @@ struct wlan_connectivity_log_buf_data {
#define logging_err(params...) QDF_TRACE_ERROR(QDF_MODULE_ID_QDF, ## params)
#define logging_info(params...) QDF_TRACE_INFO(QDF_MODULE_ID_QDF, ## params)
#if defined(WLAN_FEATURE_CONNECTIVITY_LOGGING) && \
defined(WLAN_FEATURE_ROAM_OFFLOAD)
/**
* wlan_print_cached_sae_auth_logs() - Enqueue SAE authentication frame logs
* @bssid: BSSID
* @vdev_id: Vdev id
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_print_cached_sae_auth_logs(struct qdf_mac_addr *bssid,
uint8_t vdev_id);
/**
* wlan_is_log_record_present_for_bssid() - Check if there is existing log
* record for the given bssid
* @bssid: BSSID
* @vdev_id: vdev id
*
* Return: true if record is present else false
*/
bool wlan_is_log_record_present_for_bssid(struct qdf_mac_addr *bssid,
uint8_t vdev_id);
/**
* wlan_clear_sae_auth_logs_cache() - Clear the cached auth related logs
* @vdev_id: vdev id
*
* Return: None
*/
void wlan_clear_sae_auth_logs_cache(uint8_t vdev_id);
#else
static inline
QDF_STATUS wlan_print_cached_sae_auth_logs(struct qdf_mac_addr *bssid,
uint8_t vdev_id)
{
return QDF_STATUS_SUCCESS;
}
static inline
bool wlan_is_log_record_present_for_bssid(struct qdf_mac_addr *bssid,
uint8_t vdev_id)
{
return false;
}
static inline
void wlan_clear_sae_auth_logs_cache(uint8_t vdev_id)
{}
#endif
#ifdef WLAN_FEATURE_CONNECTIVITY_LOGGING
/**
* wlan_connectivity_logging_start() - Initialize the connectivity/roaming