blob: f490900e6b2ea0699bb41c6723ccbd51037bbe82 [file] [log] [blame]
From c306d742992f1bf6dce6400ea58192b76c865ee6 Mon Sep 17 00:00:00 2001
From: Henry Yen <henry.yen@mediatek.com>
Date: Fri, 2 Feb 2024 16:42:24 +0800
Subject: [PATCH 06/17] mtk: wifi: mt76: mt7996: fix non-main BSS no beacon
issue for legacy MBSS scenario
Fix non-main BSS no beacon issue for mt7992 legacy MBSS scenario.
There are some design differences between mt7996 and mt7992 in terms of
MBSS time offset. The original MBSS MCU CMD usage is not applicable to
mt7992, so we modify the flow to avoid abnormal beaconing behavior
in MBSS scenario.
Signed-off-by: Henry.Yen <henry.yen@mediatek.com>
---
mt7996/mcu.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/mt7996/mcu.c b/mt7996/mcu.c
index aa054167..6b8a5076 100644
--- a/mt7996/mcu.c
+++ b/mt7996/mcu.c
@@ -819,11 +819,14 @@ mt7996_mcu_bss_mbssid_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
struct bss_info_uni_mbssid *mbssid;
struct tlv *tlv;
+ if (!vif->bss_conf.bssid_indicator)
+ return;
+
tlv = mt7996_mcu_add_uni_tlv(skb, UNI_BSS_INFO_11V_MBSSID, sizeof(*mbssid));
mbssid = (struct bss_info_uni_mbssid *)tlv;
- if (enable && vif->bss_conf.bssid_indicator) {
+ if (enable) {
mbssid->max_indicator = vif->bss_conf.bssid_indicator;
mbssid->mbss_idx = vif->bss_conf.bssid_index;
mbssid->tx_bss_omac_idx = 0;
--
2.18.0