summaryrefslogtreecommitdiffstats
path: root/net/mac80211/mesh_hwmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/mesh_hwmp.c')
-rw-r--r--net/mac80211/mesh_hwmp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c
index a7afb2d32def..ce3db2735d7c 100644
--- a/net/mac80211/mesh_hwmp.c
+++ b/net/mac80211/mesh_hwmp.c
@@ -867,10 +867,11 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags)
return;
}
- spin_lock_bh(&mpath->state_lock);
+ spin_lock(&mpath->state_lock);
if (mpath->flags & MESH_PATH_REQ_QUEUED) {
- spin_unlock_bh(&mpath->state_lock);
+ spin_unlock(&mpath->state_lock);
spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
+ kfree(preq_node);
return;
}
@@ -878,7 +879,7 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags)
preq_node->flags = flags;
mpath->flags |= MESH_PATH_REQ_QUEUED;
- spin_unlock_bh(&mpath->state_lock);
+ spin_unlock(&mpath->state_lock);
list_add_tail(&preq_node->list, &ifmsh->preq_queue.list);
++ifmsh->preq_queue_len;