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>
This commit is contained in:
Johannes Berg
2012-01-20 13:55:18 +01:00
committed by John W. Linville
parent c8987876e9
commit 077f493928
5 changed files with 7 additions and 33 deletions

View File

@@ -764,14 +764,8 @@ int __must_check __sta_info_destroy(struct sta_info *sta)
}
}
if (sta->uploaded) {
if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata = container_of(sdata->bss,
struct ieee80211_sub_if_data,
u.ap);
if (sta->uploaded)
drv_sta_remove(local, sdata, &sta->sta);
sdata = sta->sdata;
}
/*
* At this point, after we wait for an RCU grace period,