diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 17 |
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 | */ |
1977 | struct ieee80211_ops { | 1989 | struct 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, |