diff options
author | Marco Porsch <marco.porsch@etit.tu-chemnitz.de> | 2012-08-08 07:58:43 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-08-13 15:28:34 -0400 |
commit | df32381896f5f0c78a371df2e49ab7c776b1a5ba (patch) | |
tree | d0a5cd8f8a7a6bddfab28c4adc735a65c7b3e696 /net/mac80211/mesh.h | |
parent | faa97bd4a43ac69a55029e3b07708bdff0959c07 (diff) | |
download | blackbird-op-linux-df32381896f5f0c78a371df2e49ab7c776b1a5ba.tar.gz blackbird-op-linux-df32381896f5f0c78a371df2e49ab7c776b1a5ba.zip |
mac80211: fix unnecessary beacon update after peering status change
ieee80211_bss_info_change_notify is called everytime a peer link is established
or closed, because the accepting_plinks flag in the meshconf IE *might* have changed.
With this patch the corresponding functions return the BSS_CHANGED_BEACON flag when a beacon update is necessary.
Also it makes mesh_accept_plinks_update the common place to update the accepting_plinks flag.
mesh_accept_plinks_update is called upon plink change and also periodically from ieee80211_mesh_housekeeping.
Thus, it also picks up changes of local->num_sta.
Signed-off-by: Marco Porsch <marco.porsch@etit.tu-chemnitz.de>
Acked-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mesh.h')
-rw-r--r-- | net/mac80211/mesh.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h index faaa39bcfd10..13fd5b5fdb0a 100644 --- a/net/mac80211/mesh.h +++ b/net/mac80211/mesh.h @@ -282,7 +282,7 @@ void mesh_neighbour_update(struct ieee80211_sub_if_data *sdata, u8 *hw_addr, struct ieee802_11_elems *ie); bool mesh_peer_accepts_plinks(struct ieee802_11_elems *ie); -void mesh_accept_plinks_update(struct ieee80211_sub_if_data *sdata); +u32 mesh_accept_plinks_update(struct ieee80211_sub_if_data *sdata); void mesh_plink_broken(struct sta_info *sta); void mesh_plink_deactivate(struct sta_info *sta); int mesh_plink_open(struct sta_info *sta); |