diff options
Diffstat (limited to 'net/mac80211/mesh_pathtbl.c')
-rw-r--r-- | net/mac80211/mesh_pathtbl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index 7d050ed6fe5..6d28bd434ce 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c | |||
@@ -746,10 +746,8 @@ void mesh_plink_broken(struct sta_info *sta) | |||
746 | static void mesh_path_node_reclaim(struct rcu_head *rp) | 746 | static void mesh_path_node_reclaim(struct rcu_head *rp) |
747 | { | 747 | { |
748 | struct mpath_node *node = container_of(rp, struct mpath_node, rcu); | 748 | struct mpath_node *node = container_of(rp, struct mpath_node, rcu); |
749 | struct ieee80211_sub_if_data *sdata = node->mpath->sdata; | ||
750 | 749 | ||
751 | del_timer_sync(&node->mpath->timer); | 750 | del_timer_sync(&node->mpath->timer); |
752 | atomic_dec(&sdata->u.mesh.mpaths); | ||
753 | kfree(node->mpath); | 751 | kfree(node->mpath); |
754 | kfree(node); | 752 | kfree(node); |
755 | } | 753 | } |
@@ -757,8 +755,9 @@ static void mesh_path_node_reclaim(struct rcu_head *rp) | |||
757 | /* needs to be called with the corresponding hashwlock taken */ | 755 | /* needs to be called with the corresponding hashwlock taken */ |
758 | static void __mesh_path_del(struct mesh_table *tbl, struct mpath_node *node) | 756 | static void __mesh_path_del(struct mesh_table *tbl, struct mpath_node *node) |
759 | { | 757 | { |
760 | struct mesh_path *mpath; | 758 | struct mesh_path *mpath = node->mpath; |
761 | mpath = node->mpath; | 759 | struct ieee80211_sub_if_data *sdata = node->mpath->sdata; |
760 | |||
762 | spin_lock(&mpath->state_lock); | 761 | spin_lock(&mpath->state_lock); |
763 | mpath->flags |= MESH_PATH_RESOLVING; | 762 | mpath->flags |= MESH_PATH_RESOLVING; |
764 | if (mpath->is_gate) | 763 | if (mpath->is_gate) |
@@ -766,6 +765,7 @@ static void __mesh_path_del(struct mesh_table *tbl, struct mpath_node *node) | |||
766 | hlist_del_rcu(&node->list); | 765 | hlist_del_rcu(&node->list); |
767 | call_rcu(&node->rcu, mesh_path_node_reclaim); | 766 | call_rcu(&node->rcu, mesh_path_node_reclaim); |
768 | spin_unlock(&mpath->state_lock); | 767 | spin_unlock(&mpath->state_lock); |
768 | atomic_dec(&sdata->u.mesh.mpaths); | ||
769 | atomic_dec(&tbl->entries); | 769 | atomic_dec(&tbl->entries); |
770 | } | 770 | } |
771 | 771 | ||