ath11k: remove return for empty tx bitrate in mac_op_sta_statistics
PATCH 1/1 ath11k: remove return for empty tx bitrate in mac_op_sta_statistics
Currently in ath11k_mac_op_sta_statistics() there is the following logic:
if (!arsta->txrate.legacy && !arsta->txrate.nss)
return;Unfortunately if this condition is true then the function returns without setting parameters that follow the txrate.
To address this issue remove the return and instead invert the logic to set the txrate logic if (arsta->txrate.legacy || arsta->txrate.nss).
Same change which is upstream also exists in ath10k:1cd6ba8ae33e ("ath10k: remove return for NL80211_STA_INFO_TX_BITRATE")
Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
--- drivers/net/wireless/ath/ath11k/mac.c | 29 +++++++++++++-------------- 1 file changed, 14 insertions(+), 15 deletions(-)
drivers/net/wireless/ath/ath11k/mac.c +14 -15
@@ -6965,21 +6965,20 @@ static void ath11k_mac_op_sta_statistics(struct ieee80211_hw *hw, sinfo->tx_duration = arsta->tx_duration; sinfo->filled |=BIT_ULL (NL80211_STA_INFO_TX_DURATION ); -if (!arsta->txrate.legacy && !arsta->txrate.nss) -return ; - -if (arsta->txrate.legacy) { - sinfo->txrate.legacy = arsta->txrate.legacy; - }else { - sinfo->txrate.mcs = arsta->txrate.mcs; - sinfo->txrate.nss = arsta->txrate.nss; - sinfo->txrate.bw = arsta->txrate.bw; - sinfo->txrate.he_gi = arsta->txrate.he_gi; - sinfo->txrate.he_dcm = arsta->txrate.he_dcm; - sinfo->txrate.he_ru_alloc = arsta->txrate.he_ru_alloc; - } - sinfo->txrate.flags = arsta->txrate.flags; - sinfo->filled |=BIT_ULL (NL80211_STA_INFO_TX_BITRATE ); +if (arsta->txrate.legacy || arsta->txrate.nss) { +if (arsta->txrate.legacy) { + sinfo->txrate.legacy = arsta->txrate.legacy; + }else { + sinfo->txrate.mcs = arsta->txrate.mcs; + sinfo->txrate.nss = arsta->txrate.nss; + sinfo->txrate.bw = arsta->txrate.bw; + sinfo->txrate.he_gi = arsta->txrate.he_gi; + sinfo->txrate.he_dcm = arsta->txrate.he_dcm; + sinfo->txrate.he_ru_alloc = arsta->txrate.he_ru_alloc; + } + sinfo->txrate.flags = arsta->txrate.flags; + sinfo->filled |=BIT_ULL (NL80211_STA_INFO_TX_BITRATE ); + }/* TODO: Use real NF instead of default one. */ sinfo->signal = arsta->rssi_comb +ATH11K_DEFAULT_NOISE_FLOOR ;
Signature · 7 lines
2.31.1 -- ath11k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath11k
Quoted 11 lines · Wen Gong
Currently in
ath11k_mac_op_sta_statistics()there is the following logic:if (!arsta->txrate.legacy && !arsta->txrate.nss) return;Unfortunately if this condition is true then the function returns without setting parameters that follow the txrate. To address this issue remove the return and instead invert the logic to set the txrate logic if (
arsta->txrate.legacy||arsta->txrate.nss).
Quoted 7 lines
The same was done also in ath10k in commit
1cd6ba8ae33e("ath10k: remove return forNL80211_STA_INFO_TX_BITRATE").Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Signed-off-by Wen Gong <[email protected]>Signed-off-by Kalle Valo <[email protected]>
Patch applied to ath-next branch of ath.git, thanks.
1d795645e1ee ath11k: remove return for empty tx bitrate in mac_op_sta_statistics
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches