mirror of https://github.com/torvalds/linux.git
wifi: ath12k: track dropped MSDU buffer type packets in REO exception ring
Add a counter "reo_excep_msdu_buf_type" in ath12k_debugfs_dump_device_dp_stats() to account for packets dropped due to unexpected MSDU buffer types in the RX error path. These packets are discarded to prevent incorrect parsing and potential kernel crashes. This helps in debugging and monitoring RX error handling behavior. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1 Signed-off-by: Sarika Sharma <sarika.sharma@oss.qualcomm.com> Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com> Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com> Link: https://patch.msgid.link/20250930091551.3305312-3-sarika.sharma@oss.qualcomm.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
parent
36f9edbb9d
commit
43ba986e7a
|
|
@ -963,6 +963,7 @@ struct ath12k_device_dp_stats {
|
|||
u32 tx_wbm_rel_source[HAL_WBM_REL_SRC_MODULE_MAX];
|
||||
u32 tx_enqueued[DP_TCL_NUM_RING_MAX];
|
||||
u32 tx_completed[DP_TCL_NUM_RING_MAX];
|
||||
u32 reo_excep_msdu_buf_type;
|
||||
};
|
||||
|
||||
struct ath12k_reg_freq {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
*/
|
||||
|
||||
#include "core.h"
|
||||
|
|
@ -1178,6 +1178,9 @@ static ssize_t ath12k_debugfs_dump_device_dp_stats(struct file *file,
|
|||
len += scnprintf(buf + len, size - len, "\n");
|
||||
}
|
||||
|
||||
len += scnprintf(buf + len, size - len, "\nREO excep MSDU buf type:%u\n",
|
||||
device_stats->reo_excep_msdu_buf_type);
|
||||
|
||||
len += scnprintf(buf + len, size - len, "\nRx WBM REL SRC Errors:\n");
|
||||
|
||||
for (i = 0; i < HAL_WBM_REL_SRC_MODULE_MAX; i++) {
|
||||
|
|
|
|||
|
|
@ -3790,6 +3790,8 @@ static int ath12k_dp_h_msdu_buffer_type(struct ath12k_base *ab,
|
|||
struct sk_buff *msdu;
|
||||
u64 desc_va;
|
||||
|
||||
ab->device_stats.reo_excep_msdu_buf_type++;
|
||||
|
||||
desc_va = (u64)le32_to_cpu(desc->buf_va_hi) << 32 |
|
||||
le32_to_cpu(desc->buf_va_lo);
|
||||
desc_info = (struct ath12k_rx_desc_info *)(uintptr_t)desc_va;
|
||||
|
|
|
|||
Loading…
Reference in New Issue