[PATCH ath-next] wifi: ath11k: zero init info->status in wmi_process_mgmt_tx_comp()
Baochen Qiang
baochen.qiang at oss.qualcomm.com
Wed Nov 5 17:41:06 PST 2025
On 11/4/2025 4:39 PM, Nicolas Escande wrote:
> When reporting tx completion using ieee80211_tx_status_xxx() familly of
> functions, the status part of the struct ieee80211_tx_info nested in the
> skb is used to report things like transmit rates & retry count to mac80211
>
> On the TX data path, this is correctly memset to 0 before calling
> ieee80211_tx_status_ext(), but on the tx mgmt path this was not done.
>
> This leads to mac80211 treating garbage values as valid transmit counters
> (like tx retries for example) and accounting them as real statistics that
> makes their way to userland via station dump.
>
> The same issue was resolved in ath12k by commit 9903c0986f78 ("wifi:
> ath12k: Add memset and update default rate value in wmi tx completion")
>
> Tested-on: QCN9074 PCI WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1
>
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Signed-off-by: Nicolas Escande <nico.escande at gmail.com>
> ---
> drivers/net/wireless/ath/ath11k/wmi.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
> index edff6fb61344..110035dae8a6 100644
> --- a/drivers/net/wireless/ath/ath11k/wmi.c
> +++ b/drivers/net/wireless/ath/ath11k/wmi.c
> @@ -5967,6 +5967,9 @@ static int wmi_process_mgmt_tx_comp(struct ath11k *ar,
> dma_unmap_single(ar->ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE);
>
> info = IEEE80211_SKB_CB(msdu);
> + memset(&info->status, 0, sizeof(info->status));
> + info->status.rates[0].idx = -1;
> +
> if ((!(info->flags & IEEE80211_TX_CTL_NO_ACK)) &&
> !tx_compl_param->status) {
> info->flags |= IEEE80211_TX_STAT_ACK;
Reviewed-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>
More information about the ath11k
mailing list