From c96e99661daf48eeeb7bfe69a99c287ec4f08049 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 28 Mar 2012 11:04:27 +0200 Subject: [PATCH] --- yaml --- r: 300684 b: refs/heads/master c: ada151252655b63409860e0795993cb369e667cc h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/mac80211/util.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d37ee2e35556..8b0a2a11edf0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ded81f6ba934e792e441f20178683608cbc0b5cb +refs/heads/master: ada151252655b63409860e0795993cb369e667cc diff --git a/trunk/net/mac80211/util.c b/trunk/net/mac80211/util.c index 2b62307825d4..ef725cabb099 100644 --- a/trunk/net/mac80211/util.c +++ b/trunk/net/mac80211/util.c @@ -276,6 +276,9 @@ static void __ieee80211_wake_queue(struct ieee80211_hw *hw, int queue, if (WARN_ON(queue >= hw->queues)) return; + if (!test_bit(reason, &local->queue_stop_reasons[queue])) + return; + __clear_bit(reason, &local->queue_stop_reasons[queue]); if (local->queue_stop_reasons[queue] != 0) @@ -323,6 +326,9 @@ static void __ieee80211_stop_queue(struct ieee80211_hw *hw, int queue, if (WARN_ON(queue >= hw->queues)) return; + if (test_bit(reason, &local->queue_stop_reasons[queue])) + return; + __set_bit(reason, &local->queue_stop_reasons[queue]); rcu_read_lock();