mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 10:35:54 -04:00
wifi: mt76: mt7996: Add mt7996_mac_sta_change_links callback
Intrdouce mt7996_mac_sta_change_links routine to set change_sta_links required by mac80211. This is a preliminary patch to introduce MLO support for MT7996 driver. Co-developed-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Link: https://patch.msgid.link/20250311-mt7996-mlo-v2-8-31df6972519b@kernel.org Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
committed by
Felix Fietkau
parent
dd82a9e02c
commit
f520eceacd
@@ -952,6 +952,26 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
mt7996_mac_sta_change_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta, u16 old_links,
|
||||
u16 new_links)
|
||||
{
|
||||
struct mt7996_dev *dev = mt7996_hw_dev(hw);
|
||||
unsigned long add = new_links & ~old_links;
|
||||
unsigned long rem = old_links & ~new_links;
|
||||
int ret;
|
||||
|
||||
mutex_lock(&dev->mt76.mutex);
|
||||
|
||||
mt7996_mac_sta_remove_links(dev, sta, rem);
|
||||
ret = mt7996_mac_sta_add_links(dev, vif, sta, add);
|
||||
|
||||
mutex_unlock(&dev->mt76.mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
mt7996_mac_sta_add(struct mt76_phy *mphy, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta)
|
||||
@@ -1921,4 +1941,5 @@ const struct ieee80211_ops mt7996_ops = {
|
||||
.net_setup_tc = mt76_wed_net_setup_tc,
|
||||
#endif
|
||||
.change_vif_links = mt7996_change_vif_links,
|
||||
.change_sta_links = mt7996_mac_sta_change_links,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user