aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mesh.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/mesh.c')
-rw-r--r--net/mac80211/mesh.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index 7cf19509fb68..764593d65fc3 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -443,7 +443,7 @@ static void ieee80211_mesh_path_root_timer(unsigned long data)
443 443
444void ieee80211_mesh_root_setup(struct ieee80211_if_mesh *ifmsh) 444void ieee80211_mesh_root_setup(struct ieee80211_if_mesh *ifmsh)
445{ 445{
446 if (ifmsh->mshcfg.dot11MeshHWMPRootMode) 446 if (ifmsh->mshcfg.dot11MeshHWMPRootMode > IEEE80211_ROOTMODE_ROOT)
447 set_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags); 447 set_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags);
448 else { 448 else {
449 clear_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags); 449 clear_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags);
@@ -523,10 +523,6 @@ static void ieee80211_mesh_housekeeping(struct ieee80211_sub_if_data *sdata,
523{ 523{
524 bool free_plinks; 524 bool free_plinks;
525 525
526#ifdef CONFIG_MAC80211_VERBOSE_DEBUG
527 pr_debug("%s: running mesh housekeeping\n", sdata->name);
528#endif
529
530 ieee80211_sta_expire(sdata, IEEE80211_MESH_PEER_INACTIVITY_LIMIT); 526 ieee80211_sta_expire(sdata, IEEE80211_MESH_PEER_INACTIVITY_LIMIT);
531 mesh_path_expire(sdata); 527 mesh_path_expire(sdata);
532 528
@@ -541,11 +537,17 @@ static void ieee80211_mesh_housekeeping(struct ieee80211_sub_if_data *sdata,
541static void ieee80211_mesh_rootpath(struct ieee80211_sub_if_data *sdata) 537static void ieee80211_mesh_rootpath(struct ieee80211_sub_if_data *sdata)
542{ 538{
543 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; 539 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
540 u32 interval;
544 541
545 mesh_path_tx_root_frame(sdata); 542 mesh_path_tx_root_frame(sdata);
543
544 if (ifmsh->mshcfg.dot11MeshHWMPRootMode == IEEE80211_PROACTIVE_RANN)
545 interval = ifmsh->mshcfg.dot11MeshHWMPRannInterval;
546 else
547 interval = ifmsh->mshcfg.dot11MeshHWMProotInterval;
548
546 mod_timer(&ifmsh->mesh_path_root_timer, 549 mod_timer(&ifmsh->mesh_path_root_timer,
547 round_jiffies(TU_TO_EXP_TIME( 550 round_jiffies(TU_TO_EXP_TIME(interval)));
548 ifmsh->mshcfg.dot11MeshHWMPRannInterval)));
549} 551}
550 552
551#ifdef CONFIG_PM 553#ifdef CONFIG_PM