SYNOPSIS
struct sta_ampdu_mlme {
struct mutex mtx;
struct tid_ampdu_rx __rcu * tid_rx[IEEE80211_NUM_TIDS];
unsigned long tid_rx_timer_expired[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
unsigned long tid_rx_stop_requested[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
struct work_struct work;
struct tid_ampdu_tx __rcu * tid_tx[IEEE80211_NUM_TIDS];
struct tid_ampdu_tx * tid_start_tx[IEEE80211_NUM_TIDS];
unsigned long last_addba_req_time[IEEE80211_NUM_TIDS];
u8 addba_req_num[IEEE80211_NUM_TIDS];
u8 dialog_token_allocator;
};
MEMBERS
mtx
- mutex to protect all TX data (except non-NULL assignments to tid_tx[idx], which are protected by the sta spinlock) tid_start_tx is also protected by sta->lock.
tid_rx[IEEE80211_NUM_TIDS]
- aggregation info for Rx per TID -- RCU protected
tid_rx_timer_expired[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]
- bitmap indicating on which TIDs the RX timer expired until the work for it runs
tid_rx_stop_requested[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]
- bitmap indicating which BA sessions per TID the driver requested to close until the work for it runs
work
- work struct for starting/stopping aggregation
tid_tx[IEEE80211_NUM_TIDS]
- aggregation info for Tx per TID
tid_start_tx[IEEE80211_NUM_TIDS]
- sessions where start was requested
last_addba_req_time[IEEE80211_NUM_TIDS]
- timestamp of the last addBA request.
addba_req_num[IEEE80211_NUM_TIDS]
- number of times addBA request has been sent.
dialog_token_allocator
- dialog token enumerator for each new session;
COPYRIGHT