Commit a59650a2 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau
Browse files

wifi: mt76: mt7996: Fix valid_links bitmask in mt7996_mac_sta_{add,remove}



sta->valid_links bitmask can be set even for non-MLO client.

Fixes: dd82a9e0 ("wifi: mt76: mt7996: Rely on mt7996_sta_link in sta_add/sta_remove callbacks")
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20250704-mt7996-mlo-fixes-v1-7-356456c73f43@kernel.org


Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 64cbf0d7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1061,7 +1061,7 @@ mt7996_mac_sta_add(struct mt76_phy *mphy, struct ieee80211_vif *vif,
	struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
	unsigned long links = sta->mlo ? sta->valid_links : BIT(0);
	unsigned long links = sta->valid_links ? sta->valid_links : BIT(0);
	int err;

	mutex_lock(&mdev->mutex);
@@ -1155,7 +1155,7 @@ mt7996_mac_sta_remove(struct mt76_phy *mphy, struct ieee80211_vif *vif,
{
	struct mt76_dev *mdev = mphy->dev;
	struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
	unsigned long links = sta->mlo ? sta->valid_links : BIT(0);
	unsigned long links = sta->valid_links ? sta->valid_links : BIT(0);

	mutex_lock(&mdev->mutex);