mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: change .sta_assoc callback to .sta_event
Also report auth/disassoc events, in order to give the driver more control over handling the station state. Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+8
-3
@@ -822,13 +822,16 @@ int mt7921_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt7921_mac_sta_add);
|
||||
|
||||
void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta)
|
||||
int mt7921_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta, enum mt76_sta_event ev)
|
||||
{
|
||||
struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76);
|
||||
struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
|
||||
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
|
||||
|
||||
if (ev != MT76_STA_EVENT_ASSOC)
|
||||
return 0;
|
||||
|
||||
mt792x_mutex_acquire(dev);
|
||||
|
||||
if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls)
|
||||
@@ -844,8 +847,10 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
mt7921_mcu_sta_update(dev, sta, vif, true, MT76_STA_INFO_STATE_ASSOC);
|
||||
|
||||
mt792x_mutex_release(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt7921_mac_sta_assoc);
|
||||
EXPORT_SYMBOL_GPL(mt7921_mac_sta_event);
|
||||
|
||||
void mt7921_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta)
|
||||
|
||||
+2
-2
@@ -245,8 +245,8 @@ int mt7921_mac_init(struct mt792x_dev *dev);
|
||||
bool mt7921_mac_wtbl_update(struct mt792x_dev *dev, int idx, u32 mask);
|
||||
int mt7921_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta);
|
||||
void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta);
|
||||
int mt7921_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta, enum mt76_sta_event ev);
|
||||
void mt7921_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta);
|
||||
void mt7921_mac_reset_work(struct work_struct *work);
|
||||
|
||||
+1
-1
@@ -244,7 +244,7 @@ static int mt7921_pci_probe(struct pci_dev *pdev,
|
||||
.rx_skb = mt7921_queue_rx_skb,
|
||||
.rx_poll_complete = mt792x_rx_poll_complete,
|
||||
.sta_add = mt7921_mac_sta_add,
|
||||
.sta_assoc = mt7921_mac_sta_assoc,
|
||||
.sta_event = mt7921_mac_sta_event,
|
||||
.sta_remove = mt7921_mac_sta_remove,
|
||||
.update_survey = mt792x_update_channel,
|
||||
.set_channel = mt7921_set_channel,
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ static int mt7921s_probe(struct sdio_func *func,
|
||||
.rx_skb = mt7921_queue_rx_skb,
|
||||
.rx_check = mt7921_rx_check,
|
||||
.sta_add = mt7921_mac_sta_add,
|
||||
.sta_assoc = mt7921_mac_sta_assoc,
|
||||
.sta_event = mt7921_mac_sta_event,
|
||||
.sta_remove = mt7921_mac_sta_remove,
|
||||
.update_survey = mt792x_update_channel,
|
||||
.set_channel = mt7921_set_channel,
|
||||
|
||||
+1
-1
@@ -151,7 +151,7 @@ static int mt7921u_probe(struct usb_interface *usb_intf,
|
||||
.rx_skb = mt7921_queue_rx_skb,
|
||||
.rx_check = mt7921_rx_check,
|
||||
.sta_add = mt7921_mac_sta_add,
|
||||
.sta_assoc = mt7921_mac_sta_assoc,
|
||||
.sta_event = mt7921_mac_sta_event,
|
||||
.sta_remove = mt7921_mac_sta_remove,
|
||||
.update_survey = mt792x_update_channel,
|
||||
.set_channel = mt7921_set_channel,
|
||||
|
||||
Reference in New Issue
Block a user