diff options
author | Thomas Pedersen <thomas@cozybit.com> | 2013-02-14 14:20:13 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-02-15 03:41:40 -0500 |
commit | 2b5e19677592c167d012c2d129407f39d2bdeb8d (patch) | |
tree | db898021baebc1b462b78d00048d0cf9ef3f0aa8 /net/mac80211/ieee80211_i.h | |
parent | 4a3cb702b05868f67c4ee3da3380461c5b90b4ca (diff) |
mac80211: cache mesh beacon
Previously, the entire mesh beacon would be generated each
time the beacon timer fired. Instead generate a beacon
head and tail (so the TIM can easily be inserted when mesh
power save is on) when starting a mesh or the MBSS
parameters change.
Also add a mutex for protecting beacon updates and
preventing leaks.
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index d702f7dc321b..388580a1bada 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -580,6 +580,9 @@ struct ieee80211_if_mesh { | |||
580 | u32 mesh_seqnum; | 580 | u32 mesh_seqnum; |
581 | bool accepting_plinks; | 581 | bool accepting_plinks; |
582 | int num_gates; | 582 | int num_gates; |
583 | struct beacon_data __rcu *beacon; | ||
584 | /* just protects beacon updates for now */ | ||
585 | struct mutex mtx; | ||
583 | const u8 *ie; | 586 | const u8 *ie; |
584 | u8 ie_len; | 587 | u8 ie_len; |
585 | enum { | 588 | enum { |