aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mesh.h
diff options
context:
space:
mode:
authorMarco Porsch <marco.porsch@etit.tu-chemnitz.de>2012-08-08 07:58:43 +0200
committerJohn W. Linville <linville@tuxdriver.com>2012-08-13 15:28:34 -0400
commitdf32381896f5f0c78a371df2e49ab7c776b1a5ba (patch)
treed0a5cd8f8a7a6bddfab28c4adc735a65c7b3e696 /net/mac80211/mesh.h
parentfaa97bd4a43ac69a55029e3b07708bdff0959c07 (diff)
downloadkernel_goldelico_gta04-df32381896f5f0c78a371df2e49ab7c776b1a5ba.zip
kernel_goldelico_gta04-df32381896f5f0c78a371df2e49ab7c776b1a5ba.tar.gz
kernel_goldelico_gta04-df32381896f5f0c78a371df2e49ab7c776b1a5ba.tar.bz2
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.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h
index faaa39b..13fd5b5 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);