wifi: mt76: mt7925: add link handling in mt7925_vif_connect_iter

add link handling in mt7925_vif_connect_iter

Co-developed-by: Ming Yen Hsieh <[email protected]>
Signed-off-by: Ming Yen Hsieh <[email protected]>
Co-developed-by: Deren Wu <[email protected]>
Signed-off-by: Deren Wu <[email protected]>
Signed-off-by: Sean Wang <[email protected]>
Link: https://patch.msgid.link/c8d66043a4d31801249d53dd23f695c28a97a933.1720248331.git.sean.wang@kernel.org
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Sean Wang
2024-07-16 14:30:13 +02:00
committed by Felix Fietkau
parent 6dfcb265aa
commit 18471bb0d6
+11 -3
View File
@@ -1267,15 +1267,23 @@ mt7925_vif_connect_iter(void *priv, u8 *mac,
struct ieee80211_vif *vif) struct ieee80211_vif *vif)
{ {
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv; struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
unsigned long valid = ieee80211_vif_is_mld(vif) ?
mvif->valid_links : BIT(0);
struct mt792x_dev *dev = mvif->phy->dev; struct mt792x_dev *dev = mvif->phy->dev;
struct ieee80211_hw *hw = mt76_hw(dev); struct ieee80211_hw *hw = mt76_hw(dev);
struct ieee80211_bss_conf *bss_conf;
int i;
if (vif->type == NL80211_IFTYPE_STATION) if (vif->type == NL80211_IFTYPE_STATION)
ieee80211_disconnect(vif, true); ieee80211_disconnect(vif, true);
mt76_connac_mcu_uni_add_dev(&dev->mphy, &vif->bss_conf, for_each_set_bit(i, &valid, IEEE80211_MLD_MAX_NUM_LINKS) {
&mvif->sta.deflink.wcid, true); bss_conf = mt792x_vif_to_bss_conf(vif, i);
mt7925_mcu_set_tx(dev, &vif->bss_conf);
mt76_connac_mcu_uni_add_dev(&dev->mphy, bss_conf,
&mvif->sta.deflink.wcid, true);
mt7925_mcu_set_tx(dev, bss_conf);
}
if (vif->type == NL80211_IFTYPE_AP) { if (vif->type == NL80211_IFTYPE_AP) {
mt76_connac_mcu_uni_add_bss(dev->phy.mt76, vif, &mvif->sta.deflink.wcid, mt76_connac_mcu_uni_add_bss(dev->phy.mt76, vif, &mvif->sta.deflink.wcid,