diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-07-24 14:02:04 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-08-22 16:29:50 -0400 |
commit | 92ab85354993ac3a364c65cab45745af470ffc67 (patch) | |
tree | b36501661ee9093cb8e66919bbebbca4374c36d6 | |
parent | 5442060c08a49bd0b416f033e0ae43ccedef5278 (diff) |
mac80211: add ieee80211_queue_stopped)
This patch adds ieee80211_queue_stopped that let drivers to query
queue status
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | include/net/mac80211.h | 10 | ||||
-rw-r--r-- | net/mac80211/util.c | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index ff137fd7714f..25cc192cbe4c 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1608,6 +1608,16 @@ void ieee80211_wake_queue(struct ieee80211_hw *hw, int queue); | |||
1608 | void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue); | 1608 | void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue); |
1609 | 1609 | ||
1610 | /** | 1610 | /** |
1611 | * ieee80211_queue_stopped - test status of the queue | ||
1612 | * @hw: pointer as obtained from ieee80211_alloc_hw(). | ||
1613 | * @queue: queue number (counted from zero). | ||
1614 | * | ||
1615 | * Drivers should use this function instead of netif_stop_queue. | ||
1616 | */ | ||
1617 | |||
1618 | int ieee80211_queue_stopped(struct ieee80211_hw *hw, int queue); | ||
1619 | |||
1620 | /** | ||
1611 | * ieee80211_stop_queues - stop all queues | 1621 | * ieee80211_stop_queues - stop all queues |
1612 | * @hw: pointer as obtained from ieee80211_alloc_hw(). | 1622 | * @hw: pointer as obtained from ieee80211_alloc_hw(). |
1613 | * | 1623 | * |
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 0d463c80c404..24400618190c 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -386,6 +386,13 @@ void ieee80211_stop_queues(struct ieee80211_hw *hw) | |||
386 | } | 386 | } |
387 | EXPORT_SYMBOL(ieee80211_stop_queues); | 387 | EXPORT_SYMBOL(ieee80211_stop_queues); |
388 | 388 | ||
389 | int ieee80211_queue_stopped(struct ieee80211_hw *hw, int queue) | ||
390 | { | ||
391 | struct ieee80211_local *local = hw_to_local(hw); | ||
392 | return __netif_subqueue_stopped(local->mdev, queue); | ||
393 | } | ||
394 | EXPORT_SYMBOL(ieee80211_queue_stopped); | ||
395 | |||
389 | void ieee80211_wake_queues(struct ieee80211_hw *hw) | 396 | void ieee80211_wake_queues(struct ieee80211_hw *hw) |
390 | { | 397 | { |
391 | int i; | 398 | int i; |