mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-05 20:24:09 +08:00
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: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
eb2ba62ee5
commit
483fdcecc5
@ -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 {
|
|||||||
*
|
*
|
||||||
* @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;
|
||||||
|
Loading…
Reference in New Issue
Block a user