diff options
author | Baruch Siach <baruch@tkos.co.il> | 2011-07-28 01:51:05 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-08 16:04:18 -0400 |
commit | 987dafad11bbf0454c88bd3b37461f7f2a423f71 (patch) | |
tree | 1e55e8c2706a8330c051c0e39365a966ebbe5efc /net/mac80211/mesh_hwmp.c | |
parent | dfb72c4fda54b11efe0afbb4e4081af1dfa4c14f (diff) |
mac80211/mesh: make the preq queue lock consistent
Make mesh_preq_queue_lock locking consistent with mesh_queue_preq() using
spin_lock_bh().
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mesh_hwmp.c')
-rw-r--r-- | net/mac80211/mesh_hwmp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c index 3460108810d5..8404fa5153c6 100644 --- a/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c | |||
@@ -792,9 +792,9 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags) | |||
792 | return; | 792 | return; |
793 | } | 793 | } |
794 | 794 | ||
795 | spin_lock(&ifmsh->mesh_preq_queue_lock); | 795 | spin_lock_bh(&ifmsh->mesh_preq_queue_lock); |
796 | if (ifmsh->preq_queue_len == MAX_PREQ_QUEUE_LEN) { | 796 | if (ifmsh->preq_queue_len == MAX_PREQ_QUEUE_LEN) { |
797 | spin_unlock(&ifmsh->mesh_preq_queue_lock); | 797 | spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); |
798 | kfree(preq_node); | 798 | kfree(preq_node); |
799 | if (printk_ratelimit()) | 799 | if (printk_ratelimit()) |
800 | mhwmp_dbg("PREQ node queue full\n"); | 800 | mhwmp_dbg("PREQ node queue full\n"); |
@@ -806,7 +806,7 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags) | |||
806 | 806 | ||
807 | list_add_tail(&preq_node->list, &ifmsh->preq_queue.list); | 807 | list_add_tail(&preq_node->list, &ifmsh->preq_queue.list); |
808 | ++ifmsh->preq_queue_len; | 808 | ++ifmsh->preq_queue_len; |
809 | spin_unlock(&ifmsh->mesh_preq_queue_lock); | 809 | spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); |
810 | 810 | ||
811 | if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata))) | 811 | if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata))) |
812 | ieee80211_queue_work(&sdata->local->hw, &sdata->work); | 812 | ieee80211_queue_work(&sdata->local->hw, &sdata->work); |