aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-12-13 11:42:30 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-01-03 07:01:35 -0500
commit8a61af65c6d03781015315dbc43d0942a5b31db9 (patch)
tree624695ba646281508490cb1737fb69d8174fa87a /include
parent529ba6e9313dbe60dab7e72c6fdf647a012e9f5b (diff)
mac80211: fix channel context iteration
During suspend/resume channel contexts might be iterated even if they haven't been re-added to the driver, keep track of this and skip them in iteration. Also use the new status for sanity checks. Also clarify the fact that during HW restart all contexts are iterated over (thanks Eliad.) Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index ee50c5eba50c..0978b0faa880 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -3754,6 +3754,11 @@ void ieee80211_iter_keys(struct ieee80211_hw *hw,
3754 * The iterator will not find a context that's being added (during 3754 * The iterator will not find a context that's being added (during
3755 * the driver callback to add it) but will find it while it's being 3755 * the driver callback to add it) but will find it while it's being
3756 * removed. 3756 * removed.
3757 *
3758 * Note that during hardware restart, all contexts that existed
3759 * before the restart are considered already present so will be
3760 * found while iterating, whether they've been re-added already
3761 * or not.
3757 */ 3762 */
3758void ieee80211_iter_chan_contexts_atomic( 3763void ieee80211_iter_chan_contexts_atomic(
3759 struct ieee80211_hw *hw, 3764 struct ieee80211_hw *hw,