mac80211: simplify AP_VLAN handling
Setting keys and updating TKIP keys must use the
BSS sdata (not AP_VLAN), so we translate. Move
the translation into driver-ops wrappers instead
of having it inline in the code to simplify the
normal code flow.
The same can be done for sta_add/remove which
already does the translation in the wrapper.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index d82d886..d4966e8 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1184,15 +1184,8 @@
/* add STAs back */
mutex_lock(&local->sta_mtx);
list_for_each_entry(sta, &local->sta_list, list) {
- if (sta->uploaded) {
- sdata = sta->sdata;
- if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
- sdata = container_of(sdata->bss,
- struct ieee80211_sub_if_data,
- u.ap);
-
- WARN_ON(drv_sta_add(local, sdata, &sta->sta));
- }
+ if (sta->uploaded)
+ WARN_ON(drv_sta_add(local, sta->sdata, &sta->sta));
}
mutex_unlock(&local->sta_mtx);