From: Thomas Pedersen <thomas@cozybit.com>
Date: Wed, 10 Apr 2013 22:41:40 +0000 (-0700)
Subject: mac80211: fix ieee80211_queue_stopped()
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=2419ea14bb0dfabe740f1e005c0782db9bc56441;p=openwrt%2Fstaging%2Fblogic.git

mac80211: fix ieee80211_queue_stopped()

Johannes Berg notes mac80211 drivers which use
ieee80211_queue_stopped() really only want to know if they
previously requested a queue stop.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---

diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 447e6651e7fa..1d6217ac3ba3 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -485,7 +485,8 @@ int ieee80211_queue_stopped(struct ieee80211_hw *hw, int queue)
 		return true;
 
 	spin_lock_irqsave(&local->queue_stop_reason_lock, flags);
-	ret = !!local->queue_stop_reasons[queue];
+	ret = test_bit(IEEE80211_QUEUE_STOP_REASON_DRIVER,
+		       &local->queue_stop_reasons[queue]);
 	spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags);
 	return ret;
 }