mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: mt7925: update mt7925_mcu_add_bss_info for MLO
Update mt7925_mcu_bss_mld_tlv for the MLO-enabled firmware The change remains compatible with the non-MLO mode and the older firmware. 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/a3d03b0a1ca916b2b8b2e7c0afcdcd7e258d97c3.1720248331.git.sean.wang@kernel.org Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+8
-3
@@ -2513,17 +2513,21 @@ int mt7925_mcu_add_bss_info(struct mt792x_phy *phy,
|
|||||||
int enable)
|
int enable)
|
||||||
{
|
{
|
||||||
struct mt792x_vif *mvif = (struct mt792x_vif *)link_conf->vif->drv_priv;
|
struct mt792x_vif *mvif = (struct mt792x_vif *)link_conf->vif->drv_priv;
|
||||||
|
struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf);
|
||||||
struct mt792x_dev *dev = phy->dev;
|
struct mt792x_dev *dev = phy->dev;
|
||||||
|
struct mt792x_link_sta *mlink_bc;
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
|
|
||||||
skb = __mt7925_mcu_alloc_bss_req(&dev->mt76, &mvif->bss_conf.mt76,
|
skb = __mt7925_mcu_alloc_bss_req(&dev->mt76, &mconf->mt76,
|
||||||
MT7925_BSS_UPDATE_MAX_SIZE);
|
MT7925_BSS_UPDATE_MAX_SIZE);
|
||||||
if (IS_ERR(skb))
|
if (IS_ERR(skb))
|
||||||
return PTR_ERR(skb);
|
return PTR_ERR(skb);
|
||||||
|
|
||||||
|
mlink_bc = mt792x_sta_to_link(&mvif->sta, mconf->link_id);
|
||||||
|
|
||||||
/* bss_basic must be first */
|
/* bss_basic must be first */
|
||||||
mt7925_mcu_bss_basic_tlv(skb, link_conf, link_sta, ctx, phy->mt76,
|
mt7925_mcu_bss_basic_tlv(skb, link_conf, link_sta, ctx, phy->mt76,
|
||||||
mvif->sta.deflink.wcid.idx, enable);
|
mlink_bc->wcid.idx, enable);
|
||||||
mt7925_mcu_bss_sec_tlv(skb, link_conf);
|
mt7925_mcu_bss_sec_tlv(skb, link_conf);
|
||||||
mt7925_mcu_bss_bmc_tlv(skb, phy, ctx, link_conf);
|
mt7925_mcu_bss_bmc_tlv(skb, phy, ctx, link_conf);
|
||||||
mt7925_mcu_bss_qos_tlv(skb, link_conf);
|
mt7925_mcu_bss_qos_tlv(skb, link_conf);
|
||||||
@@ -2535,7 +2539,8 @@ int mt7925_mcu_add_bss_info(struct mt792x_phy *phy,
|
|||||||
mt7925_mcu_bss_color_tlv(skb, link_conf, enable);
|
mt7925_mcu_bss_color_tlv(skb, link_conf, enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
mt7925_mcu_bss_rlm_tlv(skb, phy->mt76, link_conf, ctx);
|
if (enable)
|
||||||
|
mt7925_mcu_bss_rlm_tlv(skb, phy->mt76, link_conf, ctx);
|
||||||
|
|
||||||
return mt76_mcu_skb_send_msg(&dev->mt76, skb,
|
return mt76_mcu_skb_send_msg(&dev->mt76, skb,
|
||||||
MCU_UNI_CMD(BSS_INFO_UPDATE), true);
|
MCU_UNI_CMD(BSS_INFO_UPDATE), true);
|
||||||
|
|||||||
Reference in New Issue
Block a user