2013-04-10 22:43:14

by Thomas Pedersen

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
---
net/mac80211/util.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 447e665..53e9d8a 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 = !!(local->queue_stop_reasons[queue] &
+ IEEE80211_QUEUE_STOP_REASON_DRIVER);
spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags);
return ret;
}
--
1.7.10.4