diff options
Diffstat (limited to 'net/mac80211/mesh.c')
-rw-r--r-- | net/mac80211/mesh.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index 2913113c5833..6fac18c0423f 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c | |||
@@ -133,7 +133,7 @@ bool mesh_peer_accepts_plinks(struct ieee802_11_elems *ie) | |||
133 | } | 133 | } |
134 | 134 | ||
135 | /** | 135 | /** |
136 | * mesh_accept_plinks_update: update accepting_plink in local mesh beacons | 136 | * mesh_accept_plinks_update - update accepting_plink in local mesh beacons |
137 | * | 137 | * |
138 | * @sdata: mesh interface in which mesh beacons are going to be updated | 138 | * @sdata: mesh interface in which mesh beacons are going to be updated |
139 | */ | 139 | */ |
@@ -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,11 +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 | printk(KERN_DEBUG "%s: running mesh housekeeping\n", | ||
528 | sdata->name); | ||
529 | #endif | ||
530 | |||
531 | ieee80211_sta_expire(sdata, IEEE80211_MESH_PEER_INACTIVITY_LIMIT); | 526 | ieee80211_sta_expire(sdata, IEEE80211_MESH_PEER_INACTIVITY_LIMIT); |
532 | mesh_path_expire(sdata); | 527 | mesh_path_expire(sdata); |
533 | 528 | ||
@@ -542,11 +537,17 @@ static void ieee80211_mesh_housekeeping(struct ieee80211_sub_if_data *sdata, | |||
542 | static void ieee80211_mesh_rootpath(struct ieee80211_sub_if_data *sdata) | 537 | static void ieee80211_mesh_rootpath(struct ieee80211_sub_if_data *sdata) |
543 | { | 538 | { |
544 | struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; | 539 | struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; |
540 | u32 interval; | ||
545 | 541 | ||
546 | 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 | |||
547 | mod_timer(&ifmsh->mesh_path_root_timer, | 549 | mod_timer(&ifmsh->mesh_path_root_timer, |
548 | round_jiffies(TU_TO_EXP_TIME( | 550 | round_jiffies(TU_TO_EXP_TIME(interval))); |
549 | ifmsh->mshcfg.dot11MeshHWMPRannInterval))); | ||
550 | } | 551 | } |
551 | 552 | ||
552 | #ifdef CONFIG_PM | 553 | #ifdef CONFIG_PM |