diff options
| author | 2025-04-09 10:56:47 +0530 | |
|---|---|---|
| committer | 2025-04-17 15:49:34 -0700 | |
| commit | 25be5d1d1e050f45f4d52b2cf9c8e4b6382075cf (patch) | |
| tree | 4f9cd0e480a80539b8a33e2b45be9242d3eca5e5 /drivers/net/wireless/ath/ath12k/mac.c | |
| parent | wifi: ath12k: avoid deadlock during regulatory update in ath12k_regd_update() (diff) | |
| download | wireguard-linux-25be5d1d1e050f45f4d52b2cf9c8e4b6382075cf.tar.xz wireguard-linux-25be5d1d1e050f45f4d52b2cf9c8e4b6382075cf.zip | |
wifi: ath12k: Avoid allocating rx_stats when ext_rx_stats is disabled
Currently, driver allocates the struct ath12k_rx_peer_stats for each
station regardless of whether ext_rx_stats is enabled. This structure
is populated by the monitor destination ring for both single-user and
multi-user scenarios when ext_rx_stats is enabled. However, when
ext_rx_stats is disabled, this allocation is unnecessary and results in
additional memory consumption.
To address this issue, allocate the struct ath12k_rx_peer_stats only when
ext_rx_stats is enabled through debugfs. This change prevents unnecessary
memory allocation. Additionally, ensure that the station dump RSSI is
updated irrespective of the ext_rx_stats enablement.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Signed-off-by: P Praneesh <praneesh.p@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250409052647.81955-1-praneesh.p@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Diffstat (limited to '')
| -rw-r--r-- | drivers/net/wireless/ath/ath12k/mac.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c index 6e4619e5cdf1..f83783bded86 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -5620,7 +5620,7 @@ static int ath12k_mac_station_add(struct ath12k *ar, goto exit; } - if (!arsta->rx_stats) { + if (ath12k_debugfs_is_extd_rx_stats_enabled(ar) && !arsta->rx_stats) { arsta->rx_stats = kzalloc(sizeof(*arsta->rx_stats), GFP_KERNEL); if (!arsta->rx_stats) { ret = -ENOMEM; |
