[][mac80211][mt76][wifi6][do not report ACK when TXS is lost]
[Description]
Remove ACK when TXS is lost.
[Release-log]
N/A
Change-Id: I3a8a3aee48a0d735932b07e804bc3592d724fcd8
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9758591
diff --git a/autobuild/autobuild_5.4_mac80211_release/package/kernel/mt76/patches/0025-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch b/autobuild/autobuild_5.4_mac80211_release/package/kernel/mt76/patches/0025-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
new file mode 100644
index 0000000..cb27ea1
--- /dev/null
+++ b/autobuild/autobuild_5.4_mac80211_release/package/kernel/mt76/patches/0025-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
@@ -0,0 +1,27 @@
+From 4efdf548d28d3afbc367e2cbe365107db1869690 Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Wed, 16 Oct 2024 08:41:49 +0800
+Subject: [PATCH] mtk: mt76: do not report ACK when TXS is lost
+
+Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
+---
+ tx.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tx.c b/tx.c
+index d6054ab6..b3d76692 100644
+--- a/tx.c
++++ b/tx.c
+@@ -100,7 +100,8 @@ __mt76_tx_status_skb_done(struct mt76_dev *dev, struct sk_buff *skb, u8 flags,
+ return;
+
+ /* Tx status can be unreliable. if it fails, mark the frame as ACKed */
+- if (flags & MT_TX_CB_TXS_FAILED) {
++ if ((flags & MT_TX_CB_TXS_FAILED) &&
++ (dev->drv->drv_flags & MT_DRV_SW_RX_AIRTIME)) { /* Only CE chips do so */
+ info->status.rates[0].count = 0;
+ info->status.rates[0].idx = -1;
+ info->flags |= IEEE80211_TX_STAT_ACK;
+--
+2.45.2
+