mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 13:59:45 -04:00
wifi: mt76: add def_wcid to struct mt76_wcid
add def_wcid to struct mt76_wcid to allow per-link wcid to retrieve the struct ieee80211_sta structure. Co-developed-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com> Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com> Co-developed-by: Deren Wu <deren.wu@mediatek.com> Signed-off-by: Deren Wu <deren.wu@mediatek.com> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Link: https://patch.msgid.link/d5188ca633666eaad7e90a8061d1a0585487e128.1720248331.git.sean.wang@kernel.org Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
@@ -368,6 +368,8 @@ struct mt76_wcid {
|
||||
struct mt76_sta_stats stats;
|
||||
|
||||
struct list_head poll_list;
|
||||
|
||||
struct mt76_wcid *def_wcid;
|
||||
};
|
||||
|
||||
struct mt76_txq {
|
||||
@@ -1258,6 +1260,9 @@ wcid_to_sta(struct mt76_wcid *wcid)
|
||||
if (!wcid || !wcid->sta)
|
||||
return NULL;
|
||||
|
||||
if (wcid->def_wcid)
|
||||
ptr = wcid->def_wcid;
|
||||
|
||||
return container_of(ptr, struct ieee80211_sta, drv_priv);
|
||||
}
|
||||
|
||||
|
||||
@@ -892,6 +892,7 @@ mt7925_mac_sta_add_links(struct mt792x_dev *dev, struct ieee80211_vif *vif,
|
||||
rcu_assign_pointer(msta->link[link_id], mlink);
|
||||
mlink->sta = msta;
|
||||
mlink->pri_link = &sta->deflink;
|
||||
mlink->wcid.def_wcid = &msta->deflink.wcid;
|
||||
|
||||
link_sta = mt792x_sta_to_link_sta(vif, sta, link_id);
|
||||
mt7925_mac_link_sta_add(&dev->mt76, vif, link_sta);
|
||||
@@ -1900,6 +1901,7 @@ mt7925_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
mconf->vif = mvif;
|
||||
mlink->wcid.link_id = link_id;
|
||||
mlink->wcid.link_valid = !!vif->valid_links;
|
||||
mlink->wcid.def_wcid = &mvif->sta.deflink.wcid;
|
||||
}
|
||||
|
||||
if (hweight16(mvif->valid_links) == 0)
|
||||
|
||||
Reference in New Issue
Block a user