diff mbox series

ath10k: fix get invalid tx rate for Mesh metric

Message ID 1572329537-27728-1-git-send-email-miaoqing@codeaurora.org (mailing list archive)
State Accepted
Commit 05a11003a56507023f18d3249a4d4d119c0a3e9c
Delegated to: Kalle Valo
Headers show
Series ath10k: fix get invalid tx rate for Mesh metric | expand

Commit Message

Miaoqing Pan Oct. 29, 2019, 6:12 a.m. UTC
ath10k does not provide transmit rate info per MSDU
in tx completion, mark that as -1 so mac80211
will ignore the rates. This fixes mac80211 update Mesh
link metric with invalid transmit rate info.

Tested HW: QCA9984
Tested FW: 10.4-3.9.0.2-00035

Signed-off-by: Hou Bao Hou <houbao@codeaurora.org>
Signed-off-by: Anilkumar Kolli <akolli@codeaurora.org>
Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/txrx.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kalle Valo Nov. 8, 2019, 8:43 a.m. UTC | #1
Miaoqing Pan <miaoqing@codeaurora.org> wrote:

> ath10k does not provide transmit rate info per MSDU
> in tx completion, mark that as -1 so mac80211
> will ignore the rates. This fixes mac80211 update Mesh
> link metric with invalid transmit rate info.
> 
> Tested HW: QCA9984
> Tested FW: 10.4-3.9.0.2-00035
> 
> Signed-off-by: Hou Bao Hou <houbao@codeaurora.org>
> Signed-off-by: Anilkumar Kolli <akolli@codeaurora.org>
> Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

05a11003a565 ath10k: fix get invalid tx rate for Mesh metric
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath10k/txrx.c b/drivers/net/wireless/ath/ath10k/txrx.c
index 4102df0..39abf8b 100644
--- a/drivers/net/wireless/ath/ath10k/txrx.c
+++ b/drivers/net/wireless/ath/ath10k/txrx.c
@@ -95,6 +95,8 @@  int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
 
 	info = IEEE80211_SKB_CB(msdu);
 	memset(&info->status, 0, sizeof(info->status));
+	info->status.rates[0].idx = -1;
+
 	trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id);
 
 	if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))