aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-02-08 06:07:44 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-02-11 12:44:57 -0500
commit1f4ac5a63f897a480fffd0d5c843b03f02c384a5 (patch)
treed7ae579e6dff49cfc5c8eca2812fa04faa7246fc /net/mac80211/ieee80211_i.h
parent757af6fefd53628bcfe75f7fbd302c5d4c02eba5 (diff)
mac80211: explicitly copy channels to VLANs where needed
Currently the code assigns channel contexts to VLANs (for use by the TX/RX code) when the AP master gets its channel context assigned. This works fine, but in the upcoming radar detection work the VLANs don't require a channel context (during radar detection) and assigning one to them anyway causes issues with locking and also inconsistencies -- a VLAN interface that is added before radar detection would get the channel context, while one added during it wouldn't. Fix these issues moving the channel context copying to a new explicit operation that will not be used in the radar detection code. Acked-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 080cf0942ce7..8e884fcbe79b 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -1605,6 +1605,8 @@ ieee80211_vif_use_channel(struct ieee80211_sub_if_data *sdata,
1605 enum ieee80211_chanctx_mode mode); 1605 enum ieee80211_chanctx_mode mode);
1606void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata); 1606void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata);
1607void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata); 1607void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata);
1608void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata,
1609 bool clear);
1608 1610
1609void ieee80211_recalc_smps_chanctx(struct ieee80211_local *local, 1611void ieee80211_recalc_smps_chanctx(struct ieee80211_local *local,
1610 struct ieee80211_chanctx *chanctx); 1612 struct ieee80211_chanctx *chanctx);