aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRamya Gnanasekar <quic_rgnanase@quicinc.com>2024-12-19 11:08:45 -0800
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>2025-01-07 16:29:59 -0800
commit2d64da9ed5d8cee44a11ed3872dbfa6a914ee2b2 (patch)
tree46c258439cf8529fef604ace6df10e15ebcfabb3
parentwifi: ath12k: Include MLO memory in firmware coredump collection (diff)
downloadwireguard-linux-2d64da9ed5d8cee44a11ed3872dbfa6a914ee2b2.tar.xz
wireguard-linux-2d64da9ed5d8cee44a11ed3872dbfa6a914ee2b2.zip
wifi: ath12k: set flag for mgmt no-ack frames in Tx completion
IEEE80211_TX_STAT_NOACK_TRANSMITTED flag signifies that frame was successfully transmitted without any errors when no-ack is requested. In WMI Tx management completion path, driver is not setting IEEE80211_TX_STAT_NOACK_TRANSMITTED flag for the frames with IEEE80211_TX_CTL_NO_ACK. Without this flag, the management frame statistics will not track such frames. Add IEEE80211_TX_STAT_NOACK_TRANSMITTED flag as part of the flags in skb transmit information when WMI is processing Tx completion for management frames. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 Signed-off-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com> Signed-off-by: Muna Sinada <quic_msinada@quicinc.com> Acked-by: Kalle Valo <kvalo@kernel.org> Link: https://patch.msgid.link/20241219190845.605116-1-quic_msinada@quicinc.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
-rw-r--r--drivers/net/wireless/ath/ath12k/wmi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 9a96c4d70e60..4dd6cdf84571 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -5362,6 +5362,9 @@ static int wmi_process_mgmt_tx_comp(struct ath12k *ar, u32 desc_id,
if ((!(info->flags & IEEE80211_TX_CTL_NO_ACK)) && !status)
info->flags |= IEEE80211_TX_STAT_ACK;
+ if ((info->flags & IEEE80211_TX_CTL_NO_ACK) && !status)
+ info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED;
+
ieee80211_tx_status_irqsafe(ath12k_ar_to_hw(ar), msdu);
num_mgmt = atomic_dec_if_positive(&ar->num_pending_mgmt_tx);