aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index ee6449eff7dc..778572d38bd3 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1973,6 +1973,18 @@ enum ieee80211_frame_release_type {
1973 * service period ends, the driver must set %IEEE80211_TX_STATUS_EOSP 1973 * service period ends, the driver must set %IEEE80211_TX_STATUS_EOSP
1974 * on the last frame in the SP. 1974 * on the last frame in the SP.
1975 * This callback must be atomic. 1975 * This callback must be atomic.
1976 * @allow_buffered_frames: Prepare device to allow the given number of frames
1977 * to go out to the given station. The frames will be sent by mac80211
1978 * via the usual TX path after this call. The TX information for frames
1979 * released will also have the %IEEE80211_TX_CTL_POLL_RESPONSE flag set
1980 * and the last one will also have %IEEE80211_TX_STATUS_EOSP set. In case
1981 * frames from multiple TIDs are released and the driver might reorder
1982 * them between the TIDs, it must set the %IEEE80211_TX_STATUS_EOSP flag
1983 * on the last frame and clear it on all others and also handle the EOSP
1984 * bit in the QoS header correctly.
1985 * The @tids parameter is a bitmap and tells the driver which TIDs the
1986 * frames will be on; it will at most have two bits set.
1987 * This callback must be atomic.
1976 */ 1988 */
1977struct ieee80211_ops { 1989struct ieee80211_ops {
1978 void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); 1990 void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb);
@@ -2088,6 +2100,11 @@ struct ieee80211_ops {
2088 void (*rssi_callback)(struct ieee80211_hw *hw, 2100 void (*rssi_callback)(struct ieee80211_hw *hw,
2089 enum ieee80211_rssi_event rssi_event); 2101 enum ieee80211_rssi_event rssi_event);
2090 2102
2103 void (*allow_buffered_frames)(struct ieee80211_hw *hw,
2104 struct ieee80211_sta *sta,
2105 u16 tids, int num_frames,
2106 enum ieee80211_frame_release_type reason,
2107 bool more_data);
2091 void (*release_buffered_frames)(struct ieee80211_hw *hw, 2108 void (*release_buffered_frames)(struct ieee80211_hw *hw,
2092 struct ieee80211_sta *sta, 2109 struct ieee80211_sta *sta,
2093 u16 tids, int num_frames, 2110 u16 tids, int num_frames,