aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/sta_info.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/sta_info.h')
-rw-r--r--net/mac80211/sta_info.h27
1 files changed, 9 insertions, 18 deletions
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 4a581a5b5766..daedfa9e1c63 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -167,8 +167,6 @@ struct sta_ampdu_mlme {
167 * @lock: used for locking all fields that require locking, see comments 167 * @lock: used for locking all fields that require locking, see comments
168 * in the header file. 168 * in the header file.
169 * @flaglock: spinlock for flags accesses 169 * @flaglock: spinlock for flags accesses
170 * @ht_info: HT capabilities of this STA
171 * @supp_rates: Bitmap of supported rates (per band)
172 * @addr: MAC address of this STA 170 * @addr: MAC address of this STA
173 * @aid: STA's unique AID (1..2007, 0 = not assigned yet), 171 * @aid: STA's unique AID (1..2007, 0 = not assigned yet),
174 * only used in AP (and IBSS?) mode 172 * only used in AP (and IBSS?) mode
@@ -195,15 +193,11 @@ struct sta_ampdu_mlme {
195 * @tx_filtered_count: TBD 193 * @tx_filtered_count: TBD
196 * @tx_retry_failed: TBD 194 * @tx_retry_failed: TBD
197 * @tx_retry_count: TBD 195 * @tx_retry_count: TBD
198 * @tx_num_consecutive_failures: TBD
199 * @tx_num_mpdu_ok: TBD
200 * @tx_num_mpdu_fail: TBD
201 * @fail_avg: moving percentage of failed MSDUs 196 * @fail_avg: moving percentage of failed MSDUs
202 * @tx_packets: number of RX/TX MSDUs 197 * @tx_packets: number of RX/TX MSDUs
203 * @tx_bytes: TBD 198 * @tx_bytes: TBD
204 * @tx_fragments: number of transmitted MPDUs 199 * @tx_fragments: number of transmitted MPDUs
205 * @txrate_idx: TBD 200 * @last_txrate_idx: Index of the last used transmit rate
206 * @last_txrate_idx: TBD
207 * @tid_seq: TBD 201 * @tid_seq: TBD
208 * @wme_tx_queue: TBD 202 * @wme_tx_queue: TBD
209 * @ampdu_mlme: TBD 203 * @ampdu_mlme: TBD
@@ -218,6 +212,7 @@ struct sta_ampdu_mlme {
218 * @plink_timeout: TBD 212 * @plink_timeout: TBD
219 * @plink_timer: TBD 213 * @plink_timer: TBD
220 * @debugfs: debug filesystem info 214 * @debugfs: debug filesystem info
215 * @sta: station information we share with the driver
221 */ 216 */
222struct sta_info { 217struct sta_info {
223 /* General information, mostly static */ 218 /* General information, mostly static */
@@ -230,10 +225,7 @@ struct sta_info {
230 void *rate_ctrl_priv; 225 void *rate_ctrl_priv;
231 spinlock_t lock; 226 spinlock_t lock;
232 spinlock_t flaglock; 227 spinlock_t flaglock;
233 struct ieee80211_ht_info ht_info; 228
234 u64 supp_rates[IEEE80211_NUM_BANDS];
235 u8 addr[ETH_ALEN];
236 u16 aid;
237 u16 listen_interval; 229 u16 listen_interval;
238 230
239 /* 231 /*
@@ -273,10 +265,6 @@ struct sta_info {
273 /* Updated from TX status path only, no locking requirements */ 265 /* Updated from TX status path only, no locking requirements */
274 unsigned long tx_filtered_count; 266 unsigned long tx_filtered_count;
275 unsigned long tx_retry_failed, tx_retry_count; 267 unsigned long tx_retry_failed, tx_retry_count;
276 /* TODO: update in generic code not rate control? */
277 u32 tx_num_consecutive_failures;
278 u32 tx_num_mpdu_ok;
279 u32 tx_num_mpdu_fail;
280 /* moving percentage of failed MSDUs */ 268 /* moving percentage of failed MSDUs */
281 unsigned int fail_avg; 269 unsigned int fail_avg;
282 270
@@ -284,8 +272,7 @@ struct sta_info {
284 unsigned long tx_packets; 272 unsigned long tx_packets;
285 unsigned long tx_bytes; 273 unsigned long tx_bytes;
286 unsigned long tx_fragments; 274 unsigned long tx_fragments;
287 int txrate_idx; 275 unsigned int last_txrate_idx;
288 int last_txrate_idx;
289 u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]; 276 u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1];
290#ifdef CONFIG_MAC80211_DEBUG_COUNTERS 277#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
291 unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES]; 278 unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES];
@@ -327,6 +314,9 @@ struct sta_info {
327 struct dentry *agg_status; 314 struct dentry *agg_status;
328 } debugfs; 315 } debugfs;
329#endif 316#endif
317
318 /* keep last! */
319 struct ieee80211_sta sta;
330}; 320};
331 321
332static inline enum plink_state sta_plink_state(struct sta_info *sta) 322static inline enum plink_state sta_plink_state(struct sta_info *sta)
@@ -452,7 +442,6 @@ int sta_info_insert(struct sta_info *sta);
452 * has already unlinked it. 442 * has already unlinked it.
453 */ 443 */
454void sta_info_unlink(struct sta_info **sta); 444void sta_info_unlink(struct sta_info **sta);
455void __sta_info_unlink(struct sta_info **sta);
456 445
457void sta_info_destroy(struct sta_info *sta); 446void sta_info_destroy(struct sta_info *sta);
458void sta_info_set_tim_bit(struct sta_info *sta); 447void sta_info_set_tim_bit(struct sta_info *sta);
@@ -464,5 +453,7 @@ void sta_info_stop(struct ieee80211_local *local);
464int sta_info_flush(struct ieee80211_local *local, 453int sta_info_flush(struct ieee80211_local *local,
465 struct ieee80211_sub_if_data *sdata); 454 struct ieee80211_sub_if_data *sdata);
466void sta_info_flush_delayed(struct ieee80211_sub_if_data *sdata); 455void sta_info_flush_delayed(struct ieee80211_sub_if_data *sdata);
456void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
457 unsigned long exp_time);
467 458
468#endif /* STA_INFO_H */ 459#endif /* STA_INFO_H */