[][MAC80211][Rebase Patches][update internal patches based on mt76-2023-06-22-29cfabbb]
[Description]
Fix and rebase internal patches based on mt76-2023-06-22-29cfabbb
[Release-log]
N/A
Change-Id: Ic49c929e0bc93915300f7e2c37e6052158b0b826
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7662070
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch
new file mode 100644
index 0000000..a0b17c3
--- /dev/null
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch
@@ -0,0 +1,40 @@
+From 7982b31fabc8cecdc45e7b123c76997c4a323ca8 Mon Sep 17 00:00:00 2001
+From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
+Date: Wed, 17 May 2023 17:34:55 +0800
+Subject: [PATCH 4/7] wifi: mt76: mt7915: fix DFS CAC tx emission issue after
+ interface down up
+
+FW's channel state is set during the first wifi interface setup. If the switch reason for
+setting the tx/rx path during second-time wifi interface setup is CH_SWITCH_NORMAL,
+then the FW would perform runtime dpd channel calibration during DFS CAC, which leads to
+tx emission. Therefore, in order to bypass tx calibration during DFS CAC, set the switch reason
+to CH_SWITCH_DFS whenever chandef is set to DFS channel.
+
+Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
+---
+ mt7915/mcu.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mt7915/mcu.c b/mt7915/mcu.c
+index 87cc8d9..4ac08d0 100644
+--- a/mt7915/mcu.c
++++ b/mt7915/mcu.c
+@@ -2732,12 +2732,12 @@ int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
+ if (mt76_connac_spe_idx(phy->mt76->antenna_mask))
+ req.tx_path_num = fls(phy->mt76->antenna_mask);
+
+- if (cmd == MCU_EXT_CMD(SET_RX_PATH) ||
+- dev->mt76.hw->conf.flags & IEEE80211_CONF_MONITOR)
++ if (dev->mt76.hw->conf.flags & IEEE80211_CONF_MONITOR)
+ req.switch_reason = CH_SWITCH_NORMAL;
+ else if (phy->mt76->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)
+ req.switch_reason = CH_SWITCH_SCAN_BYPASS_DPD;
+- else if (!cfg80211_reg_can_beacon(phy->mt76->hw->wiphy, chandef,
++ else if (cfg80211_chandef_valid(chandef) &&
++ !cfg80211_reg_can_beacon(phy->mt76->hw->wiphy, chandef,
+ NL80211_IFTYPE_AP))
+ req.switch_reason = CH_SWITCH_DFS;
+ else
+--
+2.18.0
+