diff options
Diffstat (limited to 'net')
-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); |