qcacmn: Ingress frame logging changes in Mgmt Rx REO

Add new fields to incoming management frame logging.

CRs-Fixed: 3081845
Change-Id: Ie549078066de91d87701fa4ee588df4c7840e9ec
Dieser Commit ist enthalten in:
Edayilliam Jayadev
2021-12-08 16:33:57 +05:30
committet von Madan Koyyalamudi
Ursprung 6540534870
Commit 9a5fdf9dfb
2 geänderte Dateien mit 19 neuen und 3 gelöschten Zeilen

Datei anzeigen

@@ -1784,12 +1784,14 @@ wlan_mgmt_rx_reo_update_host_snapshot(struct wlan_objmgr_pdev *pdev,
* the reorder algorithm.
* @reo_ctx: management rx reorder context
* @desc: Pointer to frame descriptor
* @is_queued: Indicates whether this frame is queued to reorder list
*
* Return: QDF_STATUS of operation
*/
static QDF_STATUS
mgmt_rx_reo_log_ingress_frame(struct mgmt_rx_reo_context *reo_ctx,
struct mgmt_rx_reo_frame_descriptor *desc)
struct mgmt_rx_reo_frame_descriptor *desc,
bool is_queued)
{
struct reo_ingress_debug_info *ingress_frame_debug_info;
struct reo_ingress_debug_frame_info *cur_frame_debug_info;
@@ -1811,6 +1813,10 @@ mgmt_rx_reo_log_ingress_frame(struct mgmt_rx_reo_context *reo_ctx,
cur_frame_debug_info->type = desc->type;
cur_frame_debug_info->wait_count = desc->wait_count;
cur_frame_debug_info->ingress_timestamp = desc->ingress_timestamp;
cur_frame_debug_info->is_queued = is_queued;
cur_frame_debug_info->is_stale = desc->is_stale;
cur_frame_debug_info->ts_last_released_frame =
reo_ctx->reo_list.ts_last_released_frame;
ingress_frame_debug_info->next_index++;
ingress_frame_debug_info->next_index %=
@@ -1824,12 +1830,14 @@ mgmt_rx_reo_log_ingress_frame(struct mgmt_rx_reo_context *reo_ctx,
* the reorder algorithm.
* @reo_ctx: management rx reorder context
* @desc: Pointer to frame descriptor
* @is_queued: Indicates whether this frame is queued to reorder list
*
* Return: QDF_STATUS of operation
*/
static QDF_STATUS
mgmt_rx_reo_log_ingress_frame(struct mgmt_rx_reo_context *reo_ctx,
struct mgmt_rx_reo_frame_descriptor *desc)
struct mgmt_rx_reo_frame_descriptor *desc,
bool is_queued)
{
return QDF_STATUS_SUCCESS;
}
@@ -1981,7 +1989,7 @@ wlan_mgmt_rx_reo_algo_entry(struct wlan_objmgr_pdev *pdev,
return QDF_STATUS_E_FAILURE;
}
status = mgmt_rx_reo_log_ingress_frame(reo_ctx, desc);
status = mgmt_rx_reo_log_ingress_frame(reo_ctx, desc, *is_queued);
if (QDF_IS_STATUS_ERROR(status)) {
qdf_spin_unlock(&reo_ctx->reo_algo_entry_lock);
return QDF_STATUS_E_FAILURE;

Datei anzeigen

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -378,6 +379,10 @@ struct mgmt_rx_reo_sim_context {
* @ingress_timestamp: Host time stamp when the frames enters the reorder
* algorithm
* @wait_count: Wait count calculated for the current frame
* @is_queued: Indicates whether this frame is queued to reorder list
* @is_stale: Indicates whether this frame is stale.
* @ts_last_released_frame: Stores the global time stamp for the last frame
* removed from the reorder list
*/
struct reo_ingress_debug_frame_info {
uint8_t link_id;
@@ -386,6 +391,9 @@ struct reo_ingress_debug_frame_info {
enum mgmt_rx_reo_frame_descriptor_type type;
uint64_t ingress_timestamp;
struct mgmt_rx_reo_wait_count wait_count;
bool is_queued;
bool is_stale;
struct mgmt_rx_reo_global_ts_info ts_last_released_frame;
};
/**