diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 18b91601770a..a74d6738b30a 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -538,6 +538,10 @@ enum { | |||
538 | IEEE80211_ADDBA_MSG = 4, | 538 | IEEE80211_ADDBA_MSG = 4, |
539 | }; | 539 | }; |
540 | 540 | ||
541 | enum queue_stop_reason { | ||
542 | IEEE80211_QUEUE_STOP_REASON_DRIVER, | ||
543 | }; | ||
544 | |||
541 | /* maximum number of hardware queues we support. */ | 545 | /* maximum number of hardware queues we support. */ |
542 | #define QD_MAX_QUEUES (IEEE80211_MAX_AMPDU_QUEUES + IEEE80211_MAX_QUEUES) | 546 | #define QD_MAX_QUEUES (IEEE80211_MAX_AMPDU_QUEUES + IEEE80211_MAX_QUEUES) |
543 | 547 | ||
@@ -554,7 +558,8 @@ struct ieee80211_local { | |||
554 | const struct ieee80211_ops *ops; | 558 | const struct ieee80211_ops *ops; |
555 | 559 | ||
556 | unsigned long queue_pool[BITS_TO_LONGS(QD_MAX_QUEUES)]; | 560 | unsigned long queue_pool[BITS_TO_LONGS(QD_MAX_QUEUES)]; |
557 | 561 | unsigned long queue_stop_reasons[IEEE80211_MAX_QUEUES]; | |
562 | spinlock_t queue_stop_reason_lock; | ||
558 | struct net_device *mdev; /* wmaster# - "master" 802.11 device */ | 563 | struct net_device *mdev; /* wmaster# - "master" 802.11 device */ |
559 | int open_count; | 564 | int open_count; |
560 | int monitors, cooked_mntrs; | 565 | int monitors, cooked_mntrs; |
@@ -972,6 +977,11 @@ int ieee80211_set_freq(struct ieee80211_sub_if_data *sdata, int freq); | |||
972 | u64 ieee80211_mandatory_rates(struct ieee80211_local *local, | 977 | u64 ieee80211_mandatory_rates(struct ieee80211_local *local, |
973 | enum ieee80211_band band); | 978 | enum ieee80211_band band); |
974 | 979 | ||
980 | void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, | ||
981 | enum queue_stop_reason reason); | ||
982 | void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, | ||
983 | enum queue_stop_reason reason); | ||
984 | |||
975 | #ifdef CONFIG_MAC80211_NOINLINE | 985 | #ifdef CONFIG_MAC80211_NOINLINE |
976 | #define debug_noinline noinline | 986 | #define debug_noinline noinline |
977 | #else | 987 | #else |