mac80211: support reporting A-MPDU EOF bit value/known
Support getting the EOF bit value reported from hardware and writing it out to radiotap. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
4fe0de5b14
Коммит
7299d6f7bf
|
@ -149,6 +149,8 @@ enum ieee80211_radiotap_ampdu_flags {
|
|||
IEEE80211_RADIOTAP_AMPDU_IS_LAST = 0x0008,
|
||||
IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_ERR = 0x0010,
|
||||
IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_KNOWN = 0x0020,
|
||||
IEEE80211_RADIOTAP_AMPDU_EOF = 0x0040,
|
||||
IEEE80211_RADIOTAP_AMPDU_EOF_KNOWN = 0x0080,
|
||||
};
|
||||
|
||||
/* for IEEE80211_RADIOTAP_VHT */
|
||||
|
|
|
@ -1099,6 +1099,9 @@ ieee80211_tx_info_clear_status(struct ieee80211_tx_info *info)
|
|||
* the first subframe.
|
||||
* @RX_FLAG_ICV_STRIPPED: The ICV is stripped from this frame. CRC checking must
|
||||
* be done in the hardware.
|
||||
* @RX_FLAG_AMPDU_EOF_BIT: Value of the EOF bit in the A-MPDU delimiter for this
|
||||
* frame
|
||||
* @RX_FLAG_AMPDU_EOF_BIT_KNOWN: The EOF value is known
|
||||
*/
|
||||
enum mac80211_rx_flags {
|
||||
RX_FLAG_MMIC_ERROR = BIT(0),
|
||||
|
@ -1125,6 +1128,8 @@ enum mac80211_rx_flags {
|
|||
RX_FLAG_MIC_STRIPPED = BIT(21),
|
||||
RX_FLAG_ALLOW_SAME_PN = BIT(22),
|
||||
RX_FLAG_ICV_STRIPPED = BIT(23),
|
||||
RX_FLAG_AMPDU_EOF_BIT = BIT(24),
|
||||
RX_FLAG_AMPDU_EOF_BIT_KNOWN = BIT(25),
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -439,6 +439,10 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
|
|||
flags |= IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_ERR;
|
||||
if (status->flag & RX_FLAG_AMPDU_DELIM_CRC_KNOWN)
|
||||
flags |= IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_KNOWN;
|
||||
if (status->flag & RX_FLAG_AMPDU_EOF_BIT_KNOWN)
|
||||
flags |= IEEE80211_RADIOTAP_AMPDU_EOF_KNOWN;
|
||||
if (status->flag & RX_FLAG_AMPDU_EOF_BIT)
|
||||
flags |= IEEE80211_RADIOTAP_AMPDU_EOF;
|
||||
put_unaligned_le16(flags, pos);
|
||||
pos += 2;
|
||||
if (status->flag & RX_FLAG_AMPDU_DELIM_CRC_KNOWN)
|
||||
|
|
Загрузка…
Ссылка в новой задаче