Commit 483fdcec authored by Ron Rindjunsky's avatar Ron Rindjunsky Committed by John W. Linville

mac80211: A-MPDU Tx change tx_status to support Block Ack data

This patch adds fields to ieee80211_tx_status in order to allow block ack
information exchange between low-level driver,mac80211 and rate scaling
module.
Signed-off-by: default avatarRon Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent eb2ba62e
...@@ -445,12 +445,14 @@ struct ieee80211_rx_status { ...@@ -445,12 +445,14 @@ struct ieee80211_rx_status {
* *
* @IEEE80211_TX_STATUS_TX_FILTERED: The frame was not transmitted * @IEEE80211_TX_STATUS_TX_FILTERED: The frame was not transmitted
* because the destination STA was in powersave mode. * because the destination STA was in powersave mode.
*
* @IEEE80211_TX_STATUS_ACK: Frame was acknowledged * @IEEE80211_TX_STATUS_ACK: Frame was acknowledged
* @IEEE80211_TX_STATUS_AMPDU: The frame was aggregated, so status
* is for the whole aggregation.
*/ */
enum ieee80211_tx_status_flags { enum ieee80211_tx_status_flags {
IEEE80211_TX_STATUS_TX_FILTERED = 1<<0, IEEE80211_TX_STATUS_TX_FILTERED = 1<<0,
IEEE80211_TX_STATUS_ACK = 1<<1, IEEE80211_TX_STATUS_ACK = 1<<1,
IEEE80211_TX_STATUS_AMPDU = 1<<2,
}; };
/** /**
...@@ -461,24 +463,25 @@ enum ieee80211_tx_status_flags { ...@@ -461,24 +463,25 @@ enum ieee80211_tx_status_flags {
* *
* @control: a copy of the &struct ieee80211_tx_control passed to the driver * @control: a copy of the &struct ieee80211_tx_control passed to the driver
* in the tx() callback. * in the tx() callback.
*
* @flags: transmit status flags, defined above * @flags: transmit status flags, defined above
* * @retry_count: number of retries
* @ack_signal: signal strength of the ACK frame
*
* @excessive_retries: set to 1 if the frame was retried many times * @excessive_retries: set to 1 if the frame was retried many times
* but not acknowledged * but not acknowledged
* * @ampdu_ack_len: number of aggregated frames.
* @retry_count: number of retries * relevant only if IEEE80211_TX_STATUS_AMPDU was set.
* * @ampdu_ack_map: block ack bit map for the aggregation.
* relevant only if IEEE80211_TX_STATUS_AMPDU was set.
* @ack_signal: signal strength of the ACK frame
* @queue_length: ?? REMOVE * @queue_length: ?? REMOVE
* @queue_number: ?? REMOVE * @queue_number: ?? REMOVE
*/ */
struct ieee80211_tx_status { struct ieee80211_tx_status {
struct ieee80211_tx_control control; struct ieee80211_tx_control control;
u8 flags; u8 flags;
bool excessive_retries;
u8 retry_count; u8 retry_count;
bool excessive_retries;
u8 ampdu_ack_len;
u64 ampdu_ack_map;
int ack_signal; int ack_signal;
int queue_length; int queue_length;
int queue_number; int queue_number;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment