aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mesh_hwmp.c
diff options
context:
space:
mode:
authorLuis Carlos Cobo <luisca@cozybit.com>2008-02-29 18:04:13 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-03-06 16:40:51 -0500
commitcfa22c716f65b4d286a68aeacee4a7361a4035e6 (patch)
tree52c9c31b7f77b06daa504e283aa73da41be1e6aa /net/mac80211/mesh_hwmp.c
parent89a1ad6990d884796c5280d13aa58d216dffa08d (diff)
mac80211: always force mesh_path deletions
Postponing the deletion is not really useful anymore. Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mesh_hwmp.c')
-rw-r--r--net/mac80211/mesh_hwmp.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c
index c8c7d9aa4b94..324ebea10c4c 100644
--- a/net/mac80211/mesh_hwmp.c
+++ b/net/mac80211/mesh_hwmp.c
@@ -828,7 +828,6 @@ void mesh_path_timer(unsigned long data)
828{ 828{
829 struct ieee80211_sub_if_data *sdata; 829 struct ieee80211_sub_if_data *sdata;
830 struct mesh_path *mpath; 830 struct mesh_path *mpath;
831 bool delete = false;
832 831
833 rcu_read_lock(); 832 rcu_read_lock();
834 mpath = (struct mesh_path *) data; 833 mpath = (struct mesh_path *) data;
@@ -837,10 +836,7 @@ void mesh_path_timer(unsigned long data)
837 goto endmpathtimer; 836 goto endmpathtimer;
838 spin_lock_bh(&mpath->state_lock); 837 spin_lock_bh(&mpath->state_lock);
839 sdata = IEEE80211_DEV_TO_SUB_IF(mpath->dev); 838 sdata = IEEE80211_DEV_TO_SUB_IF(mpath->dev);
840 if (mpath->flags & MESH_PATH_DELETE) { 839 if (mpath->flags & MESH_PATH_RESOLVED ||
841 mpath->flags = 0;
842 delete = true;
843 } else if (mpath->flags & MESH_PATH_RESOLVED ||
844 (!(mpath->flags & MESH_PATH_RESOLVING))) 840 (!(mpath->flags & MESH_PATH_RESOLVING)))
845 mpath->flags &= ~(MESH_PATH_RESOLVING | MESH_PATH_RESOLVED); 841 mpath->flags &= ~(MESH_PATH_RESOLVING | MESH_PATH_RESOLVED);
846 else if (mpath->discovery_retries < max_preq_retries(sdata)) { 842 else if (mpath->discovery_retries < max_preq_retries(sdata)) {
@@ -856,6 +852,4 @@ void mesh_path_timer(unsigned long data)
856 spin_unlock_bh(&mpath->state_lock); 852 spin_unlock_bh(&mpath->state_lock);
857endmpathtimer: 853endmpathtimer:
858 rcu_read_unlock(); 854 rcu_read_unlock();
859 if (delete)
860 mesh_path_del(mpath->dst, mpath->dev, false);
861} 855}