mt76: add driver callback for when a sta is associated
authorFelix Fietkau <nbd@nbd.name>
Wed, 30 Jan 2019 11:17:20 +0000 (12:17 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 26 Feb 2019 11:29:56 +0000 (12:29 +0100)
MT7603 needs this to update the HT/VHT capabilities

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mac80211.c
drivers/net/wireless/mediatek/mt76/mt76.h

index 82e9f78ef328701bab15268acad73776b4cf44e7..a033745adb2f7a738ac576aafd41aa931fcc5ea6 100644 (file)
@@ -714,6 +714,11 @@ int mt76_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
            new_state == IEEE80211_STA_NONE)
                return mt76_sta_add(dev, vif, sta);
 
+       if (old_state == IEEE80211_STA_AUTH &&
+           new_state == IEEE80211_STA_ASSOC &&
+           dev->drv->sta_assoc)
+               dev->drv->sta_assoc(dev, vif, sta);
+
        if (old_state == IEEE80211_STA_NONE &&
                 new_state == IEEE80211_STA_NOTEXIST)
                mt76_sta_remove(dev, vif, sta);
index 28bfe91cb2ed248e84fcea4308ebb899beae9fb1..5dfb0601f1015c01251d409070ba64bda516db26 100644 (file)
@@ -304,6 +304,9 @@ struct mt76_driver_ops {
        int (*sta_add)(struct mt76_dev *dev, struct ieee80211_vif *vif,
                       struct ieee80211_sta *sta);
 
+       void (*sta_assoc)(struct mt76_dev *dev, struct ieee80211_vif *vif,
+                         struct ieee80211_sta *sta);
+
        void (*sta_remove)(struct mt76_dev *dev, struct ieee80211_vif *vif,
                           struct ieee80211_sta *sta);
 };