]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: mt76: mt7996: Fix valid_links bitmask in mt7996_mac_sta_{add,remove}
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 4 Jul 2025 13:08:11 +0000 (15:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 14:38:43 +0000 (16:38 +0200)
[ Upstream commit a59650a2270190905fdab79431140371feb35251 ]

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

Fixes: dd82a9e02c054 ("wifi: mt76: mt7996: Rely on mt7996_sta_link in sta_add/sta_remove callbacks")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20250704-mt7996-mlo-fixes-v1-7-356456c73f43@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7996/main.c

index 44b4e48e499d4c1d8661cc7112b94c61a8378579..f41b2c98bc451874a343ac160f56fd82de086e46 100644 (file)
@@ -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);