diff options
Diffstat (limited to 'net/mac80211/mesh.c')
-rw-r--r-- | net/mac80211/mesh.c | 16 |
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 | ||
444 | void ieee80211_mesh_root_setup(struct ieee80211_if_mesh *ifmsh) | 444 | void 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, | |||
541 | static void ieee80211_mesh_rootpath(struct ieee80211_sub_if_data *sdata) | 537 | static 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 |