Commit f2dc7989 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville

mac80211: minor cleanup to mesh state locking

First time I tried smatch, and it says:
mesh_hwmp.c +870 mesh_queue_preq(21) error: double lock 'bottom_half:'
mesh_hwmp.c +873 mesh_queue_preq(24) error: double unlock 'bottom_half:'
mesh_hwmp.c +886 mesh_queue_preq(37) error: double unlock 'bottom_half:'

Which is indeed true -- there's no point in disabling BHs
again if we just did that a few lines earlier, so remove.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1e7aecc2
...@@ -867,9 +867,9 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags) ...@@ -867,9 +867,9 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags)
return; return;
} }
spin_lock_bh(&mpath->state_lock); spin_lock(&mpath->state_lock);
if (mpath->flags & MESH_PATH_REQ_QUEUED) { 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); spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
kfree(preq_node); kfree(preq_node);
return; return;
...@@ -879,7 +879,7 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags) ...@@ -879,7 +879,7 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags)
preq_node->flags = flags; preq_node->flags = flags;
mpath->flags |= MESH_PATH_REQ_QUEUED; 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); list_add_tail(&preq_node->list, &ifmsh->preq_queue.list);
++ifmsh->preq_queue_len; ++ifmsh->preq_queue_len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment